diff options
author | Justin TerAvest <teravest@google.com> | 2011-07-12 02:31:45 -0400 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2011-07-12 02:35:10 -0400 |
commit | 4aede84b33d6beb401136a3deca0651ae07c5e99 (patch) | |
tree | 831266dbb15227584da5011ae4bb1e5038a69677 /fs/super.c | |
parent | a07405b7802691d29ab3b23bdc76ee6d006aad0b (diff) |
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.c | 4 |
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) | |||
245 | */ | 245 | */ |
246 | void lock_super(struct super_block * sb) | 246 | void lock_super(struct super_block * sb) |
247 | { | 247 | { |
248 | get_fs_excl(); | ||
249 | mutex_lock(&sb->s_lock); | 248 | mutex_lock(&sb->s_lock); |
250 | } | 249 | } |
251 | 250 | ||
252 | void unlock_super(struct super_block * sb) | 251 | void unlock_super(struct super_block * sb) |
253 | { | 252 | { |
254 | put_fs_excl(); | ||
255 | mutex_unlock(&sb->s_lock); | 253 | mutex_unlock(&sb->s_lock); |
256 | } | 254 | } |
257 | 255 | ||
@@ -280,7 +278,6 @@ void generic_shutdown_super(struct super_block *sb) | |||
280 | if (sb->s_root) { | 278 | if (sb->s_root) { |
281 | shrink_dcache_for_umount(sb); | 279 | shrink_dcache_for_umount(sb); |
282 | sync_filesystem(sb); | 280 | sync_filesystem(sb); |
283 | get_fs_excl(); | ||
284 | sb->s_flags &= ~MS_ACTIVE; | 281 | sb->s_flags &= ~MS_ACTIVE; |
285 | 282 | ||
286 | fsnotify_unmount_inodes(&sb->s_inodes); | 283 | fsnotify_unmount_inodes(&sb->s_inodes); |
@@ -295,7 +292,6 @@ void generic_shutdown_super(struct super_block *sb) | |||
295 | "Self-destruct in 5 seconds. Have a nice day...\n", | 292 | "Self-destruct in 5 seconds. Have a nice day...\n", |
296 | sb->s_id); | 293 | sb->s_id); |
297 | } | 294 | } |
298 | put_fs_excl(); | ||
299 | } | 295 | } |
300 | spin_lock(&sb_lock); | 296 | spin_lock(&sb_lock); |
301 | /* should be initialized for __put_super_and_need_restart() */ | 297 | /* should be initialized for __put_super_and_need_restart() */ |