This is a revised series of the ("cleanups on nilfs_get_sb()") which I
posted last month.
The purpose of this series is to simpify sget() use in nilfs and
improve exclusion control of mount state in mount/remount/umount
procedures.
In the previous version, I cut by two of three sget() calls and
reduced some bd_mount_sem use. This version will add the following
changes:
* Simplify test callback function passed to the remaining sget()
call. The confusing down_write_trylock for sb->s_umount in the
test function was removed.
* Introduce a new semaphore to protect mount state. Previously, lock
order reversal between sb->s_umount and bdev->bd_mount_sem was
arising in nilfs_remount(), and protection for the mount state was
imperfect in nilfs_remount(). The new semaphore corrects both
problems.
* Delete every bd_mount_sem use from nilfs including the pair left
around sget() call in the previous version.
* The way for detecting exclusive mount was simplified. This series
uses a back pointer to a current mount from nilfs object instead of
scanning list of super block instances.
* Rebased to the latest kernel version.
I will queue this for 2.6.31.
--
Ryusuke Konishi (6):
nilfs2: remove meaningless EBUSY case from nilfs_get_sb function
nilfs2: get rid of sget use for acquiring nilfs object
nilfs2: get rid of sget use for checking if current mount is present
nilfs2: simplify remaining sget() use
nilfs2: correct exclusion control in nilfs_remount function
nilfs2: get rid of bd_mount_sem use from nilfs
fs/nilfs2/cpfile.c | 6 +-
fs/nilfs2/sb.h | 1 +
fs/nilfs2/super.c | 242 ++++++++++++++++---------------------------------
fs/nilfs2/the_nilfs.c | 113 ++++++++++++++++++++++-
fs/nilfs2/the_nilfs.h | 23 ++++-
5 files changed, 212 insertions(+), 173 deletions(-)
Thanks,
Ryusuke Konishi
_______________________________________________
users mailing list
[email protected]
https://www.nilfs.org/mailman/listinfo/users