summaryrefslogtreecommitdiff
path: root/fs/super.c
diff options
context:
space:
mode:
authorJustin TerAvest <teravest@google.com>2011-07-12 08:31:45 +0200
committerJens Axboe <jaxboe@fusionio.com>2011-07-12 08:35:10 +0200
commit4aede84b33d6beb401136a3deca0651ae07c5e99 (patch)
tree831266dbb15227584da5011ae4bb1e5038a69677 /fs/super.c
parenta07405b7802691d29ab3b23bdc76ee6d006aad0b (diff)
downloadkernel-common-4aede84b33d6beb401136a3deca0651ae07c5e99.tar.gz
kernel-common-4aede84b33d6beb401136a3deca0651ae07c5e99.tar.bz2
kernel-common-4aede84b33d6beb401136a3deca0651ae07c5e99.zip
fixlet: Remove fs_excl from struct task.
fs_excl is a poor man's priority inheritance for filesystems to hint to the block layer that an operation is important. It was never clearly specified, not widely adopted, and will not prevent starvation in many cases (like across cgroups). fs_excl was introduced with the time sliced CFQ IO scheduler, to indicate when a process held FS exclusive resources and thus needed a boost. It doesn't cover all file systems, and it was never fully complete. Lets kill it. Signed-off-by: Justin TerAvest <teravest@google.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'fs/super.c')
-rw-r--r--fs/super.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/fs/super.c b/fs/super.c
index ab3d672db0de..cf12ba50973b 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -245,13 +245,11 @@ static int grab_super(struct super_block *s) __releases(sb_lock)
*/
void lock_super(struct super_block * sb)
{
- get_fs_excl();
mutex_lock(&sb->s_lock);
}
void unlock_super(struct super_block * sb)
{
- put_fs_excl();
mutex_unlock(&sb->s_lock);
}
@@ -280,7 +278,6 @@ void generic_shutdown_super(struct super_block *sb)
if (sb->s_root) {
shrink_dcache_for_umount(sb);
sync_filesystem(sb);
- get_fs_excl();
sb->s_flags &= ~MS_ACTIVE;
fsnotify_unmount_inodes(&sb->s_inodes);
@@ -295,7 +292,6 @@ void generic_shutdown_super(struct super_block *sb)
"Self-destruct in 5 seconds. Have a nice day...\n",
sb->s_id);
}
- put_fs_excl();
}
spin_lock(&sb_lock);
/* should be initialized for __put_super_and_need_restart() */