diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-03-26 02:56:34 +0300 |
---|---|---|
committer | Mike Marshall <hubcap@omnibond.com> | 2016-03-26 14:22:00 +0300 |
commit | 45996492e5c85aa0ac93a95d1b2d1ed56851c865 (patch) | |
tree | 3ee74b07ce43cdb0b637c3747fadbb1f2ba59eb6 /init | |
parent | 6d4c1a30b32a377083900f39c42bcacb633f99a1 (diff) | |
download | linux-45996492e5c85aa0ac93a95d1b2d1ed56851c865.tar.xz |
orangefs: fix orangefs_superblock locking
* switch orangefs_remount() to taking ORANGEFS_SB(sb) instead of sb
* remove from the list _before_ orangefs_unmount() - request_mutex
in the latter will make sure that nothing observed in the loop in
ORANGEFS_DEV_REMOUNT_ALL handling will get freed until the end
of loop
* on removal, keep the forward pointer and zero the back one. That
way we can drop and regain the spinlock in the loop body (again,
ORANGEFS_DEV_REMOUNT_ALL one) and still be able to get to the
rest of the list.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions