git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
eal/windows: add missing SPDX license tag
[dpdk.git]
/
lib
/
librte_eal
/
common
/
eal_common_fbarray.c
diff --git
a/lib/librte_eal/common/eal_common_fbarray.c
b/lib/librte_eal/common/eal_common_fbarray.c
index
fd0292a
..
592ec58
100644
(file)
--- a/
lib/librte_eal/common/eal_common_fbarray.c
+++ b/
lib/librte_eal/common/eal_common_fbarray.c
@@
-81,9
+81,8
@@
get_used_mask(void *data, unsigned int elt_sz, unsigned int len)
}
static int
}
static int
-resize_and_map(int fd, void *addr, size_t len)
+resize_and_map(int fd,
const char *path,
void *addr, size_t len)
{
{
- char path[PATH_MAX];
void *map_addr;
if (eal_file_truncate(fd, len)) {
void *map_addr;
if (eal_file_truncate(fd, len)) {
@@
-110,7
+109,7
@@
overlap(const struct mem_area *ma, const void *start, size_t len)
if (start >= ma_start && start < ma_end)
return 1;
/* end overlap? */
if (start >= ma_start && start < ma_end)
return 1;
/* end overlap? */
- if (end >
=
ma_start && end < ma_end)
+ if (end > ma_start && end < ma_end)
return 1;
return 0;
}
return 1;
return 0;
}
@@
-715,6
+714,8
@@
rte_fbarray_init(struct rte_fbarray *arr, const char *name, unsigned int len,
struct mem_area *ma = NULL;
void *data = NULL;
int fd = -1;
struct mem_area *ma = NULL;
void *data = NULL;
int fd = -1;
+ const struct internal_config *internal_conf =
+ eal_get_internal_configuration();
if (arr == NULL) {
rte_errno = EINVAL;
if (arr == NULL) {
rte_errno = EINVAL;
@@
-750,7
+751,7
@@
rte_fbarray_init(struct rte_fbarray *arr, const char *name, unsigned int len,
fd = -1;
fd = -1;
- if (internal_conf
ig.
no_shconf) {
+ if (internal_conf
->
no_shconf) {
/* remap virtual area as writable */
static const int flags = RTE_MAP_FORCE_ADDRESS |
RTE_MAP_PRIVATE | RTE_MAP_ANONYMOUS;
/* remap virtual area as writable */
static const int flags = RTE_MAP_FORCE_ADDRESS |
RTE_MAP_PRIVATE | RTE_MAP_ANONYMOUS;
@@
-790,7
+791,7
@@
rte_fbarray_init(struct rte_fbarray *arr, const char *name, unsigned int len,
if (eal_file_lock(fd, EAL_FLOCK_SHARED, EAL_FLOCK_RETURN))
goto fail;
if (eal_file_lock(fd, EAL_FLOCK_SHARED, EAL_FLOCK_RETURN))
goto fail;
- if (resize_and_map(fd, data, mmap_len))
+ if (resize_and_map(fd,
path,
data, mmap_len))
goto fail;
}
ma->addr = data;
goto fail;
}
ma->addr = data;
@@
-893,7
+894,7
@@
rte_fbarray_attach(struct rte_fbarray *arr)
if (eal_file_lock(fd, EAL_FLOCK_SHARED, EAL_FLOCK_RETURN))
goto fail;
if (eal_file_lock(fd, EAL_FLOCK_SHARED, EAL_FLOCK_RETURN))
goto fail;
- if (resize_and_map(fd, data, mmap_len))
+ if (resize_and_map(fd,
path,
data, mmap_len))
goto fail;
/* store our new memory area */
goto fail;
/* store our new memory area */
@@
-977,6
+978,8
@@
rte_fbarray_destroy(struct rte_fbarray *arr)
size_t mmap_len;
int fd, ret;
char path[PATH_MAX];
size_t mmap_len;
int fd, ret;
char path[PATH_MAX];
+ const struct internal_config *internal_conf =
+ eal_get_internal_configuration();
if (arr == NULL) {
rte_errno = EINVAL;
if (arr == NULL) {
rte_errno = EINVAL;
@@
-1010,7
+1013,7
@@
rte_fbarray_destroy(struct rte_fbarray *arr)
goto out;
}
/* with no shconf, there were never any files to begin with */
goto out;
}
/* with no shconf, there were never any files to begin with */
- if (!internal_conf
ig.
no_shconf) {
+ if (!internal_conf
->
no_shconf) {
/*
* attempt to get an exclusive lock on the file, to ensure it
* has been detached by all other processes
/*
* attempt to get an exclusive lock on the file, to ensure it
* has been detached by all other processes