mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 06:34:12 +08:00
orangefs: make sure that reopening pvfs2-req won't overlap with the end of close
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:
parent
96acf9d65e
commit
fee25ce125
@ -85,7 +85,7 @@ static int orangefs_devreq_open(struct inode *inode, struct file *file)
|
|||||||
mutex_lock(&devreq_mutex);
|
mutex_lock(&devreq_mutex);
|
||||||
|
|
||||||
if (open_access_count == 0) {
|
if (open_access_count == 0) {
|
||||||
open_access_count++;
|
open_access_count = 1;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
DUMP_DEVICE_ERROR();
|
DUMP_DEVICE_ERROR();
|
||||||
@ -533,12 +533,11 @@ static int orangefs_devreq_release(struct inode *inode, struct file *file)
|
|||||||
if (orangefs_get_bufmap_init())
|
if (orangefs_get_bufmap_init())
|
||||||
orangefs_bufmap_finalize();
|
orangefs_bufmap_finalize();
|
||||||
|
|
||||||
open_access_count--;
|
open_access_count = -1;
|
||||||
|
|
||||||
unmounted = mark_all_pending_mounts();
|
unmounted = mark_all_pending_mounts();
|
||||||
gossip_debug(GOSSIP_DEV_DEBUG, "ORANGEFS Device Close: Filesystem(s) %s\n",
|
gossip_debug(GOSSIP_DEV_DEBUG, "ORANGEFS Device Close: Filesystem(s) %s\n",
|
||||||
(unmounted ? "UNMOUNTED" : "MOUNTED"));
|
(unmounted ? "UNMOUNTED" : "MOUNTED"));
|
||||||
mutex_unlock(&devreq_mutex);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Walk through the list of ops in the request list, mark them
|
* Walk through the list of ops in the request list, mark them
|
||||||
@ -552,6 +551,8 @@ static int orangefs_devreq_release(struct inode *inode, struct file *file)
|
|||||||
purge_inprogress_ops();
|
purge_inprogress_ops();
|
||||||
gossip_debug(GOSSIP_DEV_DEBUG,
|
gossip_debug(GOSSIP_DEV_DEBUG,
|
||||||
"pvfs2-client-core: device close complete\n");
|
"pvfs2-client-core: device close complete\n");
|
||||||
|
open_access_count = 0;
|
||||||
|
mutex_unlock(&devreq_mutex);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user