* [PATCH] remove s_async_list
@ 2009-04-28 15:57 Christoph Hellwig
2009-04-28 16:02 ` Jan Kara
0 siblings, 1 reply; 3+ messages in thread
From: Christoph Hellwig @ 2009-04-28 15:57 UTC (permalink / raw)
To: Al Viro, Jan Kara; +Cc: linux-fsdevel
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>
Index: linux-2.6/fs/super.c
===================================================================
--- linux-2.6.orig/fs/super.c 2009-04-28 17:36:09.582631160 +0200
+++ linux-2.6/fs/super.c 2009-04-28 17:36:14.257612324 +0200
@@ -37,7 +37,6 @@
#include <linux/kobject.h>
#include <linux/mutex.h>
#include <linux/file.h>
-#include <linux/async.h>
#include <asm/uaccess.h>
#include "internal.h"
@@ -71,7 +70,6 @@ static struct super_block *alloc_super(s
INIT_HLIST_HEAD(&s->s_anon);
INIT_LIST_HEAD(&s->s_inodes);
INIT_LIST_HEAD(&s->s_dentry_lru);
- INIT_LIST_HEAD(&s->s_async_list);
init_rwsem(&s->s_umount);
mutex_init(&s->s_lock);
lockdep_set_class(&s->s_umount, &type->s_umount_key);
@@ -281,11 +279,6 @@ void generic_shutdown_super(struct super
lock_super(sb);
sb->s_flags &= ~MS_ACTIVE;
- /*
- * wait for asynchronous fs operations to finish before going further
- */
- async_synchronize_full_domain(&sb->s_async_list);
-
/* bad name - it should be evict_inodes() */
invalidate_inodes(sb);
lock_kernel();
Index: linux-2.6/include/linux/fs.h
===================================================================
--- linux-2.6.orig/include/linux/fs.h 2009-04-28 17:36:09.586630482 +0200
+++ linux-2.6/include/linux/fs.h 2009-04-28 17:36:14.261638117 +0200
@@ -1372,11 +1372,6 @@ struct super_block {
* generic_show_options()
*/
char *s_options;
-
- /*
- * storage for asynchronous operations
- */
- struct list_head s_async_list;
};
extern struct timespec current_fs_time(struct super_block *sb);
Index: linux-2.6/fs/sync.c
===================================================================
--- linux-2.6.orig/fs/sync.c 2009-04-28 17:36:37.593482035 +0200
+++ linux-2.6/fs/sync.c 2009-04-28 17:36:41.763651320 +0200
@@ -94,7 +94,6 @@ restart:
sb->s_count++;
spin_unlock(&sb_lock);
down_read(&sb->s_umount);
- async_synchronize_full_domain(&sb->s_async_list);
if (sb->s_root)
__sync_filesystem(sb, wait);
up_read(&sb->s_umount);
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] remove s_async_list
2009-04-28 15:57 [PATCH] remove s_async_list Christoph Hellwig
@ 2009-04-28 16:02 ` Jan Kara
2009-04-28 16:05 ` Christoph Hellwig
0 siblings, 1 reply; 3+ messages in thread
From: Jan Kara @ 2009-04-28 16:02 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Al Viro, linux-fsdevel
On Tue 28-04-09 17:57:27, Christoph Hellwig wrote:
> 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.
I was wondering what it's used for when cleaning up the sync path ;)
BTW, fs/sync.c also includes <linux/async.h> which can be removed now,
doesn't it?
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Honza
>
> Index: linux-2.6/fs/super.c
> ===================================================================
> --- linux-2.6.orig/fs/super.c 2009-04-28 17:36:09.582631160 +0200
> +++ linux-2.6/fs/super.c 2009-04-28 17:36:14.257612324 +0200
> @@ -37,7 +37,6 @@
> #include <linux/kobject.h>
> #include <linux/mutex.h>
> #include <linux/file.h>
> -#include <linux/async.h>
> #include <asm/uaccess.h>
> #include "internal.h"
>
> @@ -71,7 +70,6 @@ static struct super_block *alloc_super(s
> INIT_HLIST_HEAD(&s->s_anon);
> INIT_LIST_HEAD(&s->s_inodes);
> INIT_LIST_HEAD(&s->s_dentry_lru);
> - INIT_LIST_HEAD(&s->s_async_list);
> init_rwsem(&s->s_umount);
> mutex_init(&s->s_lock);
> lockdep_set_class(&s->s_umount, &type->s_umount_key);
> @@ -281,11 +279,6 @@ void generic_shutdown_super(struct super
> lock_super(sb);
> sb->s_flags &= ~MS_ACTIVE;
>
> - /*
> - * wait for asynchronous fs operations to finish before going further
> - */
> - async_synchronize_full_domain(&sb->s_async_list);
> -
> /* bad name - it should be evict_inodes() */
> invalidate_inodes(sb);
> lock_kernel();
> Index: linux-2.6/include/linux/fs.h
> ===================================================================
> --- linux-2.6.orig/include/linux/fs.h 2009-04-28 17:36:09.586630482 +0200
> +++ linux-2.6/include/linux/fs.h 2009-04-28 17:36:14.261638117 +0200
> @@ -1372,11 +1372,6 @@ struct super_block {
> * generic_show_options()
> */
> char *s_options;
> -
> - /*
> - * storage for asynchronous operations
> - */
> - struct list_head s_async_list;
> };
>
> extern struct timespec current_fs_time(struct super_block *sb);
> Index: linux-2.6/fs/sync.c
> ===================================================================
> --- linux-2.6.orig/fs/sync.c 2009-04-28 17:36:37.593482035 +0200
> +++ linux-2.6/fs/sync.c 2009-04-28 17:36:41.763651320 +0200
> @@ -94,7 +94,6 @@ restart:
> sb->s_count++;
> spin_unlock(&sb_lock);
> down_read(&sb->s_umount);
> - async_synchronize_full_domain(&sb->s_async_list);
> if (sb->s_root)
> __sync_filesystem(sb, wait);
> up_read(&sb->s_umount);
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] remove s_async_list
2009-04-28 16:02 ` Jan Kara
@ 2009-04-28 16:05 ` Christoph Hellwig
0 siblings, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2009-04-28 16:05 UTC (permalink / raw)
To: Jan Kara; +Cc: Christoph Hellwig, Al Viro, linux-fsdevel
On Tue, Apr 28, 2009 at 06:02:21PM +0200, Jan Kara wrote:
> On Tue 28-04-09 17:57:27, Christoph Hellwig wrote:
> > 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.
> I was wondering what it's used for when cleaning up the sync path ;)
> BTW, fs/sync.c also includes <linux/async.h> which can be removed now,
> doesn't it?
Yeah. Updated version below:
Signed-off-by: Christoph Hellwig <hch@lst.de>
Index: linux-2.6/fs/super.c
===================================================================
--- linux-2.6.orig/fs/super.c 2009-04-28 17:36:09.582631160 +0200
+++ linux-2.6/fs/super.c 2009-04-28 18:04:12.238637421 +0200
@@ -37,7 +37,6 @@
#include <linux/kobject.h>
#include <linux/mutex.h>
#include <linux/file.h>
-#include <linux/async.h>
#include <asm/uaccess.h>
#include "internal.h"
@@ -71,7 +70,6 @@ static struct super_block *alloc_super(s
INIT_HLIST_HEAD(&s->s_anon);
INIT_LIST_HEAD(&s->s_inodes);
INIT_LIST_HEAD(&s->s_dentry_lru);
- INIT_LIST_HEAD(&s->s_async_list);
init_rwsem(&s->s_umount);
mutex_init(&s->s_lock);
lockdep_set_class(&s->s_umount, &type->s_umount_key);
@@ -281,11 +279,6 @@ void generic_shutdown_super(struct super
lock_super(sb);
sb->s_flags &= ~MS_ACTIVE;
- /*
- * wait for asynchronous fs operations to finish before going further
- */
- async_synchronize_full_domain(&sb->s_async_list);
-
/* bad name - it should be evict_inodes() */
invalidate_inodes(sb);
lock_kernel();
Index: linux-2.6/include/linux/fs.h
===================================================================
--- linux-2.6.orig/include/linux/fs.h 2009-04-28 17:36:09.586630482 +0200
+++ linux-2.6/include/linux/fs.h 2009-04-28 17:36:14.261638117 +0200
@@ -1372,11 +1372,6 @@ struct super_block {
* generic_show_options()
*/
char *s_options;
-
- /*
- * storage for asynchronous operations
- */
- struct list_head s_async_list;
};
extern struct timespec current_fs_time(struct super_block *sb);
Index: linux-2.6/fs/sync.c
===================================================================
--- linux-2.6.orig/fs/sync.c 2009-04-28 17:36:37.593482035 +0200
+++ linux-2.6/fs/sync.c 2009-04-28 18:04:06.045133419 +0200
@@ -12,7 +12,6 @@
#include <linux/linkage.h>
#include <linux/pagemap.h>
#include <linux/quotaops.h>
-#include <linux/async.h>
#define VALID_FLAGS (SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE| \
SYNC_FILE_RANGE_WAIT_AFTER)
@@ -94,7 +93,6 @@ restart:
sb->s_count++;
spin_unlock(&sb_lock);
down_read(&sb->s_umount);
- async_synchronize_full_domain(&sb->s_async_list);
if (sb->s_root)
__sync_filesystem(sb, wait);
up_read(&sb->s_umount);
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-04-28 16:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-28 15:57 [PATCH] remove s_async_list Christoph Hellwig
2009-04-28 16:02 ` Jan Kara
2009-04-28 16:05 ` Christoph Hellwig
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).