1
0
Fork 0
alistair23-linux/fs/orangefs
Al Viro 45996492e5 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>
2016-03-26 07:22:00 -04:00
..
Kconfig Orangefs: kernel client part 7 2015-10-03 11:40:00 -04:00
Makefile Orangefs: change pvfs2 filenames to orangefs 2015-12-04 12:56:14 -05:00
acl.c Orangefs: change pvfs2 filenames to orangefs 2015-12-04 12:56:14 -05:00
dcache.c orangefs: use new getattr for revalidate and remove old getattr 2016-03-23 17:36:15 -04:00
devorangefs-req.c orangefs: fix orangefs_superblock locking 2016-03-26 07:22:00 -04:00
dir.c orangefs: saner calling conventions for getting a slot 2016-03-25 22:30:54 -04:00
downcall.h orangefs: use ORANGEFS_NAME_LEN everywhere; remove ORANGEFS_NAME_MAX 2016-02-24 17:07:50 -05:00
file.c orangefs: fix do_readv_writev() handling of error halfway through 2016-03-25 22:30:54 -04:00
inode.c ornagefs: ensure that truncate has an up to date inode size 2016-03-23 17:36:16 -04:00
namei.c orangefs: Avoid symlink upcall if target is too long. 2016-03-09 13:26:39 -05:00
orangefs-bufmap.c orangefs: saner calling conventions for getting a slot 2016-03-25 22:30:54 -04:00
orangefs-bufmap.h orangefs-bufmap.h: trim unused junk 2016-03-25 22:30:54 -04:00
orangefs-cache.c orangefs: get rid of op refcounts 2016-02-19 13:45:56 -05:00
orangefs-debug.h Orangef: remove overlooked old-style userspace debug parts 2015-12-11 11:00:12 -05:00
orangefs-debugfs.c Orangefs: fix sloppy cleanups of debugfs and sysfs init failures. 2016-03-14 15:48:28 -04:00
orangefs-debugfs.h Orangefs: change pvfs2 filenames to orangefs 2015-12-04 12:56:14 -05:00
orangefs-dev-proto.h orangefs: use ORANGEFS_NAME_LEN everywhere; remove ORANGEFS_NAME_MAX 2016-02-24 17:07:50 -05:00
orangefs-kernel.h orangefs: fix orangefs_superblock locking 2016-03-26 07:22:00 -04:00
orangefs-mod.c orangefs: put register_chrdev immediately before register_filesystem 2016-03-17 14:34:10 -04:00
orangefs-sysfs.c Orangefs: fix sloppy cleanups of debugfs and sysfs init failures. 2016-03-14 15:48:28 -04:00
orangefs-sysfs.h Orangefs: change pvfs2 filenames to orangefs 2015-12-04 12:56:14 -05:00
orangefs-utils.c orangefs: move code which sets i_link to orangefs_inode_getattr 2016-03-23 17:36:16 -04:00
protocol.h orangefs: we never lookup with sym_follow set 2016-02-24 17:07:51 -05:00
super.c orangefs: fix orangefs_superblock locking 2016-03-26 07:22:00 -04:00
symlink.c Orangefs: follow_link -> get_link change 2016-03-14 15:48:28 -04:00
upcall.h orangefs: remove vestigial async io code 2016-02-24 17:07:50 -05:00
waitqueue.c Orangefs: improve gossip statements 2016-03-03 13:46:48 -05:00
xattr.c orangefs: sanitize listxattr and return EIO on impossible values 2016-03-17 14:33:47 -04:00