diff options
author | Christoph Hellwig <hch@lst.de> | 2009-04-28 12:05:55 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-06-11 21:36:02 -0400 |
commit | 876a9f76abbcb775f8d21cbc99fa161f9e5937f1 (patch) | |
tree | 971a1ac276c365a53ef1563c9d9f71013a563f09 | |
parent | 864d7c4c068f23642efe91b33be3a84afe5f71e0 (diff) |
remove s_async_list
Remove the unused s_async_list in the superblock, a leftover of the
broken async inode deletion code that leaked into mainline. Having this
in the middle of the sync/unmount path is not helpful for the following
cleanups.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/super.c | 8 | ||||
-rw-r--r-- | include/linux/fs.h | 5 |
2 files changed, 0 insertions, 13 deletions
diff --git a/fs/super.c b/fs/super.c index c170551c23fe..3d9f117dd2a3 100644 --- a/fs/super.c +++ b/fs/super.c | |||
@@ -38,7 +38,6 @@ | |||
38 | #include <linux/kobject.h> | 38 | #include <linux/kobject.h> |
39 | #include <linux/mutex.h> | 39 | #include <linux/mutex.h> |
40 | #include <linux/file.h> | 40 | #include <linux/file.h> |
41 | #include <linux/async.h> | ||
42 | #include <asm/uaccess.h> | 41 | #include <asm/uaccess.h> |
43 | #include "internal.h" | 42 | #include "internal.h" |
44 | 43 | ||
@@ -72,7 +71,6 @@ static struct super_block *alloc_super(struct file_system_type *type) | |||
72 | INIT_HLIST_HEAD(&s->s_anon); | 71 | INIT_HLIST_HEAD(&s->s_anon); |
73 | INIT_LIST_HEAD(&s->s_inodes); | 72 | INIT_LIST_HEAD(&s->s_inodes); |
74 | INIT_LIST_HEAD(&s->s_dentry_lru); | 73 | INIT_LIST_HEAD(&s->s_dentry_lru); |
75 | INIT_LIST_HEAD(&s->s_async_list); | ||
76 | init_rwsem(&s->s_umount); | 74 | init_rwsem(&s->s_umount); |
77 | mutex_init(&s->s_lock); | 75 | mutex_init(&s->s_lock); |
78 | lockdep_set_class(&s->s_umount, &type->s_umount_key); | 76 | lockdep_set_class(&s->s_umount, &type->s_umount_key); |
@@ -342,11 +340,6 @@ void generic_shutdown_super(struct super_block *sb) | |||
342 | lock_super(sb); | 340 | lock_super(sb); |
343 | sb->s_flags &= ~MS_ACTIVE; | 341 | sb->s_flags &= ~MS_ACTIVE; |
344 | 342 | ||
345 | /* | ||
346 | * wait for asynchronous fs operations to finish before going further | ||
347 | */ | ||
348 | async_synchronize_full_domain(&sb->s_async_list); | ||
349 | |||
350 | /* bad name - it should be evict_inodes() */ | 343 | /* bad name - it should be evict_inodes() */ |
351 | invalidate_inodes(sb); | 344 | invalidate_inodes(sb); |
352 | lock_kernel(); | 345 | lock_kernel(); |
@@ -517,7 +510,6 @@ restart: | |||
517 | sb->s_count++; | 510 | sb->s_count++; |
518 | spin_unlock(&sb_lock); | 511 | spin_unlock(&sb_lock); |
519 | down_read(&sb->s_umount); | 512 | down_read(&sb->s_umount); |
520 | async_synchronize_full_domain(&sb->s_async_list); | ||
521 | if (sb->s_root && (wait || sb->s_dirt)) | 513 | if (sb->s_root && (wait || sb->s_dirt)) |
522 | sb->s_op->sync_fs(sb, wait); | 514 | sb->s_op->sync_fs(sb, wait); |
523 | up_read(&sb->s_umount); | 515 | up_read(&sb->s_umount); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 03fb2102b8f3..36bcff7036ef 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1372,11 +1372,6 @@ struct super_block { | |||
1372 | * generic_show_options() | 1372 | * generic_show_options() |
1373 | */ | 1373 | */ |
1374 | char *s_options; | 1374 | char *s_options; |
1375 | |||
1376 | /* | ||
1377 | * storage for asynchronous operations | ||
1378 | */ | ||
1379 | struct list_head s_async_list; | ||
1380 | }; | 1375 | }; |
1381 | 1376 | ||
1382 | extern struct timespec current_fs_time(struct super_block *sb); | 1377 | extern struct timespec current_fs_time(struct super_block *sb); |