get rid of bufmap argument of orangefs_bufmap_put()
it's always equal to __orangefs_bufmap and the latter can't change until we are done Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:
@@ -170,7 +170,7 @@ populate_shared_memory:
|
|||||||
* a new shared memory location.
|
* a new shared memory location.
|
||||||
*/
|
*/
|
||||||
if (ret == -EAGAIN && op_state_purged(new_op)) {
|
if (ret == -EAGAIN && op_state_purged(new_op)) {
|
||||||
orangefs_bufmap_put(bufmap, buffer_index);
|
orangefs_bufmap_put(buffer_index);
|
||||||
buffer_index = -1;
|
buffer_index = -1;
|
||||||
if (type == ORANGEFS_IO_WRITE)
|
if (type == ORANGEFS_IO_WRITE)
|
||||||
*iter = saved;
|
*iter = saved;
|
||||||
@@ -190,7 +190,7 @@ populate_shared_memory:
|
|||||||
} else {
|
} else {
|
||||||
complete(&new_op->done);
|
complete(&new_op->done);
|
||||||
}
|
}
|
||||||
orangefs_bufmap_put(bufmap, buffer_index);
|
orangefs_bufmap_put(buffer_index);
|
||||||
buffer_index = -1;
|
buffer_index = -1;
|
||||||
/*
|
/*
|
||||||
* don't write an error to syslog on signaled operation
|
* don't write an error to syslog on signaled operation
|
||||||
@@ -239,7 +239,7 @@ done_copying:
|
|||||||
|
|
||||||
out:
|
out:
|
||||||
if (buffer_index >= 0) {
|
if (buffer_index >= 0) {
|
||||||
orangefs_bufmap_put(bufmap, buffer_index);
|
orangefs_bufmap_put(buffer_index);
|
||||||
gossip_debug(GOSSIP_FILE_DEBUG,
|
gossip_debug(GOSSIP_FILE_DEBUG,
|
||||||
"%s(%pU): PUT buffer_index %d\n",
|
"%s(%pU): PUT buffer_index %d\n",
|
||||||
__func__, handle, buffer_index);
|
__func__, handle, buffer_index);
|
||||||
|
|||||||
@@ -458,9 +458,10 @@ int orangefs_bufmap_get(struct orangefs_bufmap **mapp, int *buffer_index)
|
|||||||
*
|
*
|
||||||
* no return value
|
* no return value
|
||||||
*/
|
*/
|
||||||
void orangefs_bufmap_put(struct orangefs_bufmap *bufmap, int buffer_index)
|
void orangefs_bufmap_put(int buffer_index)
|
||||||
{
|
{
|
||||||
struct slot_args slargs;
|
struct slot_args slargs;
|
||||||
|
struct orangefs_bufmap *bufmap = __orangefs_bufmap;
|
||||||
|
|
||||||
slargs.slot_count = bufmap->desc_count;
|
slargs.slot_count = bufmap->desc_count;
|
||||||
slargs.slot_array = bufmap->buffer_index_array;
|
slargs.slot_array = bufmap->buffer_index_array;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ void orangefs_bufmap_finalize(void);
|
|||||||
|
|
||||||
int orangefs_bufmap_get(struct orangefs_bufmap **mapp, int *buffer_index);
|
int orangefs_bufmap_get(struct orangefs_bufmap **mapp, int *buffer_index);
|
||||||
|
|
||||||
void orangefs_bufmap_put(struct orangefs_bufmap *bufmap, int buffer_index);
|
void orangefs_bufmap_put(int buffer_index);
|
||||||
|
|
||||||
int orangefs_readdir_index_get(struct orangefs_bufmap **mapp, int *buffer_index);
|
int orangefs_readdir_index_get(struct orangefs_bufmap **mapp, int *buffer_index);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user