* BUG dcache.c:613 during autofs unmounting in 2.6.19rc2 @ 2006-10-16 14:58 Andi Kleen 2006-10-17 4:15 ` Ian Kent 2006-10-17 16:18 ` AUTOFS3: Make sure all dentries refs are released before calling kill_anon_super() David Howells 0 siblings, 2 replies; 8+ messages in thread From: Andi Kleen @ 2006-10-16 14:58 UTC (permalink / raw) To: linux-kernel; +Cc: linux-fsdevel While unmounting autofs on shutdown my workstation got a dcache.c:613 BUG with 2.6.19rc2. Only jpegs available unfortunately: http://one.firstfloor.org/~andi/autofs-oops1.jpg http://one.firstfloor.org/~andi/autofs-oops2.jpg I think it was autofs3 instead of autofs4 - at least I got both compiled in. The autofs user land was autofs-4.1.4 (-6 suse rpm) -Andi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: BUG dcache.c:613 during autofs unmounting in 2.6.19rc2 2006-10-16 14:58 BUG dcache.c:613 during autofs unmounting in 2.6.19rc2 Andi Kleen @ 2006-10-17 4:15 ` Ian Kent 2006-10-17 10:50 ` Andi Kleen 2006-10-17 16:18 ` AUTOFS3: Make sure all dentries refs are released before calling kill_anon_super() David Howells 1 sibling, 1 reply; 8+ messages in thread From: Ian Kent @ 2006-10-17 4:15 UTC (permalink / raw) To: Andi Kleen; +Cc: linux-kernel, linux-fsdevel On Mon, 2006-10-16 at 16:58 +0200, Andi Kleen wrote: > While unmounting autofs on shutdown my workstation got a dcache.c:613 BUG > with 2.6.19rc2. > > Only jpegs available unfortunately: > > http://one.firstfloor.org/~andi/autofs-oops1.jpg > http://one.firstfloor.org/~andi/autofs-oops2.jpg > > I think it was autofs3 instead of autofs4 - at least I got both compiled in. > The autofs user land was autofs-4.1.4 (-6 suse rpm) Don't think compiling both in is a good idea. They both register as "autofs" so you really should choose one and disable the other. For my part I have to recommend autofs4 (personally I'd like to see the autofs v3 module deprecated) and autofs4 is really needed if your using autofs version 4 or above. Ian ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: BUG dcache.c:613 during autofs unmounting in 2.6.19rc2 2006-10-17 4:15 ` Ian Kent @ 2006-10-17 10:50 ` Andi Kleen 2006-10-17 13:55 ` Ian Kent 2006-10-17 14:05 ` David Howells 0 siblings, 2 replies; 8+ messages in thread From: Andi Kleen @ 2006-10-17 10:50 UTC (permalink / raw) To: Ian Kent; +Cc: linux-kernel, linux-fsdevel On Tuesday 17 October 2006 06:15, Ian Kent wrote: > On Mon, 2006-10-16 at 16:58 +0200, Andi Kleen wrote: > > While unmounting autofs on shutdown my workstation got a dcache.c:613 BUG > > with 2.6.19rc2. > > > > Only jpegs available unfortunately: > > > > http://one.firstfloor.org/~andi/autofs-oops1.jpg > > http://one.firstfloor.org/~andi/autofs-oops2.jpg > > > > I think it was autofs3 instead of autofs4 - at least I got both compiled in. > > The autofs user land was autofs-4.1.4 (-6 suse rpm) > > Don't think compiling both in is a good idea. > They both register as "autofs" so you really should choose one and > disable the other. > > For my part I have to recommend autofs4 (personally I'd like to see the > autofs v3 module deprecated) and autofs4 is really needed if your using > autofs version 4 or above. Well it always worked this way in earlier kernels and even if the wrong module was suddenly used for some reason it shouldn't BUG. So something is broken. -Andi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: BUG dcache.c:613 during autofs unmounting in 2.6.19rc2 2006-10-17 10:50 ` Andi Kleen @ 2006-10-17 13:55 ` Ian Kent 2006-10-17 13:59 ` Ian Kent 2006-10-17 14:05 ` David Howells 1 sibling, 1 reply; 8+ messages in thread From: Ian Kent @ 2006-10-17 13:55 UTC (permalink / raw) To: Andi Kleen; +Cc: linux-kernel, linux-fsdevel On Tue, 2006-10-17 at 12:50 +0200, Andi Kleen wrote: > On Tuesday 17 October 2006 06:15, Ian Kent wrote: > > On Mon, 2006-10-16 at 16:58 +0200, Andi Kleen wrote: > > > While unmounting autofs on shutdown my workstation got a dcache.c:613 BUG > > > with 2.6.19rc2. > > > > > > Only jpegs available unfortunately: > > > > > > http://one.firstfloor.org/~andi/autofs-oops1.jpg > > > http://one.firstfloor.org/~andi/autofs-oops2.jpg > > > > > > I think it was autofs3 instead of autofs4 - at least I got both compiled in. > > > The autofs user land was autofs-4.1.4 (-6 suse rpm) > > > > Don't think compiling both in is a good idea. > > They both register as "autofs" so you really should choose one and > > disable the other. > > > > For my part I have to recommend autofs4 (personally I'd like to see the > > autofs v3 module deprecated) and autofs4 is really needed if your using > > autofs version 4 or above. > > Well it always worked this way in earlier kernels and even if the > wrong module was suddenly used for some reason it shouldn't BUG. > So something is broken. True. There have been some changes in this area (David Howells made some changes which affected autofs4) and I'm not sure that the autofs module was reviewed. I didn't look closely at it at the time, I guess I should have. Sorry. It will take a while longer to work out if the autofs if open to the same issue resulting from Davids change. Ian ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: BUG dcache.c:613 during autofs unmounting in 2.6.19rc2 2006-10-17 13:55 ` Ian Kent @ 2006-10-17 13:59 ` Ian Kent 0 siblings, 0 replies; 8+ messages in thread From: Ian Kent @ 2006-10-17 13:59 UTC (permalink / raw) To: Andi Kleen; +Cc: linux-kernel, linux-fsdevel On Tue, 2006-10-17 at 21:55 +0800, Ian Kent wrote: > > Well it always worked this way in earlier kernels and even if the > > wrong module was suddenly used for some reason it shouldn't BUG. > > So something is broken. > > True. > > There have been some changes in this area (David Howells made some > changes which affected autofs4) and I'm not sure that the autofs module > was reviewed. I didn't look closely at it at the time, I guess I should > have. Sorry. > > It will take a while longer to work out if the autofs if open to the > same issue resulting from Davids change. Oh forgot .. I know it may be hard to do but could you try and confirm whether it was autofs or autofs4. They are very different and I don't want to stare at code trying to work out what's wrong if it's not broken. > > Ian > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: BUG dcache.c:613 during autofs unmounting in 2.6.19rc2 2006-10-17 10:50 ` Andi Kleen 2006-10-17 13:55 ` Ian Kent @ 2006-10-17 14:05 ` David Howells 1 sibling, 0 replies; 8+ messages in thread From: David Howells @ 2006-10-17 14:05 UTC (permalink / raw) To: Ian Kent; +Cc: Andi Kleen, linux-kernel, linux-fsdevel Ian Kent <raven@themaw.net> wrote: > There have been some changes in this area (David Howells made some > changes which affected autofs4) and I'm not sure that the autofs module > was reviewed. I didn't look closely at it at the time, I guess I should > have. Sorry. It looks like my fixes for autofs4 need applying to autofs also. David ^ permalink raw reply [flat|nested] 8+ messages in thread
* AUTOFS3: Make sure all dentries refs are released before calling kill_anon_super() 2006-10-16 14:58 BUG dcache.c:613 during autofs unmounting in 2.6.19rc2 Andi Kleen 2006-10-17 4:15 ` Ian Kent @ 2006-10-17 16:18 ` David Howells 2006-10-17 16:23 ` Ian Kent 1 sibling, 1 reply; 8+ messages in thread From: David Howells @ 2006-10-17 16:18 UTC (permalink / raw) To: Andi Kleen, Ian Kent; +Cc: linux-kernel, linux-fsdevel Make sure all dentries refs are released before calling kill_anon_super() so that the assumption that generic_shutdown_super() can completely destroy the dentry tree for there will be no external references holds true. What was being done in the put_super() superblock op, is now done in the kill_sb() filesystem op instead, prior to calling kill_anon_super(). The call to shrink_dcache_sb() is removed as it is redundant since shrink_dcache_for_umount() will now be called after the cleanup routine. Signed-off-by: David Howells <dhowells@redhat.com> --- fs/autofs/autofs_i.h | 1 + fs/autofs/dirhash.c | 1 - fs/autofs/init.c | 2 +- fs/autofs/inode.c | 4 ++-- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/autofs/autofs_i.h b/fs/autofs/autofs_i.h index c7700d9..906ba5c 100644 --- a/fs/autofs/autofs_i.h +++ b/fs/autofs/autofs_i.h @@ -149,6 +149,7 @@ extern const struct file_operations auto /* Initializing function */ int autofs_fill_super(struct super_block *, void *, int); +void autofs_kill_sb(struct super_block *sb); /* Queue management functions */ diff --git a/fs/autofs/dirhash.c b/fs/autofs/dirhash.c index 3fded38..bf8c8af 100644 --- a/fs/autofs/dirhash.c +++ b/fs/autofs/dirhash.c @@ -246,5 +246,4 @@ void autofs_hash_nuke(struct autofs_sb_i kfree(ent); } } - shrink_dcache_sb(sbi->sb); } diff --git a/fs/autofs/init.c b/fs/autofs/init.c index aca1237..cea5219 100644 --- a/fs/autofs/init.c +++ b/fs/autofs/init.c @@ -24,7 +24,7 @@ static struct file_system_type autofs_fs .owner = THIS_MODULE, .name = "autofs", .get_sb = autofs_get_sb, - .kill_sb = kill_anon_super, + .kill_sb = autofs_kill_sb, }; static int __init init_autofs_fs(void) diff --git a/fs/autofs/inode.c b/fs/autofs/inode.c index 2c9759b..54c518c 100644 --- a/fs/autofs/inode.c +++ b/fs/autofs/inode.c @@ -20,7 +20,7 @@ #include <linux/magic.h> #include "autofs_i.h" #include <linux/module.h> -static void autofs_put_super(struct super_block *sb) +void autofs_kill_sb(struct super_block *sb) { struct autofs_sb_info *sbi = autofs_sbi(sb); unsigned int n; @@ -37,13 +37,13 @@ static void autofs_put_super(struct supe kfree(sb->s_fs_info); DPRINTK(("autofs: shutting down\n")); + kill_anon_super(sb); } static void autofs_read_inode(struct inode *inode); static struct super_operations autofs_sops = { .read_inode = autofs_read_inode, - .put_super = autofs_put_super, .statfs = simple_statfs, }; ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: AUTOFS3: Make sure all dentries refs are released before calling kill_anon_super() 2006-10-17 16:18 ` AUTOFS3: Make sure all dentries refs are released before calling kill_anon_super() David Howells @ 2006-10-17 16:23 ` Ian Kent 0 siblings, 0 replies; 8+ messages in thread From: Ian Kent @ 2006-10-17 16:23 UTC (permalink / raw) To: David Howells; +Cc: Andi Kleen, linux-kernel, linux-fsdevel On Tue, 2006-10-17 at 17:18 +0100, David Howells wrote: > Make sure all dentries refs are released before calling kill_anon_super() so > that the assumption that generic_shutdown_super() can completely destroy the > dentry tree for there will be no external references holds true. > > What was being done in the put_super() superblock op, is now done in the > kill_sb() filesystem op instead, prior to calling kill_anon_super(). > > The call to shrink_dcache_sb() is removed as it is redundant since > shrink_dcache_for_umount() will now be called after the cleanup routine. > > Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Ian Kent <raven@themaw.net> > --- > > fs/autofs/autofs_i.h | 1 + > fs/autofs/dirhash.c | 1 - > fs/autofs/init.c | 2 +- > fs/autofs/inode.c | 4 ++-- > 4 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/autofs/autofs_i.h b/fs/autofs/autofs_i.h > index c7700d9..906ba5c 100644 > --- a/fs/autofs/autofs_i.h > +++ b/fs/autofs/autofs_i.h > @@ -149,6 +149,7 @@ extern const struct file_operations auto > /* Initializing function */ > > int autofs_fill_super(struct super_block *, void *, int); > +void autofs_kill_sb(struct super_block *sb); > > /* Queue management functions */ > > diff --git a/fs/autofs/dirhash.c b/fs/autofs/dirhash.c > index 3fded38..bf8c8af 100644 > --- a/fs/autofs/dirhash.c > +++ b/fs/autofs/dirhash.c > @@ -246,5 +246,4 @@ void autofs_hash_nuke(struct autofs_sb_i > kfree(ent); > } > } > - shrink_dcache_sb(sbi->sb); > } > diff --git a/fs/autofs/init.c b/fs/autofs/init.c > index aca1237..cea5219 100644 > --- a/fs/autofs/init.c > +++ b/fs/autofs/init.c > @@ -24,7 +24,7 @@ static struct file_system_type autofs_fs > .owner = THIS_MODULE, > .name = "autofs", > .get_sb = autofs_get_sb, > - .kill_sb = kill_anon_super, > + .kill_sb = autofs_kill_sb, > }; > > static int __init init_autofs_fs(void) > diff --git a/fs/autofs/inode.c b/fs/autofs/inode.c > index 2c9759b..54c518c 100644 > --- a/fs/autofs/inode.c > +++ b/fs/autofs/inode.c > @@ -20,7 +20,7 @@ #include <linux/magic.h> > #include "autofs_i.h" > #include <linux/module.h> > > -static void autofs_put_super(struct super_block *sb) > +void autofs_kill_sb(struct super_block *sb) > { > struct autofs_sb_info *sbi = autofs_sbi(sb); > unsigned int n; > @@ -37,13 +37,13 @@ static void autofs_put_super(struct supe > kfree(sb->s_fs_info); > > DPRINTK(("autofs: shutting down\n")); > + kill_anon_super(sb); > } > > static void autofs_read_inode(struct inode *inode); > > static struct super_operations autofs_sops = { > .read_inode = autofs_read_inode, > - .put_super = autofs_put_super, > .statfs = simple_statfs, > }; > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-10-17 16:23 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-10-16 14:58 BUG dcache.c:613 during autofs unmounting in 2.6.19rc2 Andi Kleen 2006-10-17 4:15 ` Ian Kent 2006-10-17 10:50 ` Andi Kleen 2006-10-17 13:55 ` Ian Kent 2006-10-17 13:59 ` Ian Kent 2006-10-17 14:05 ` David Howells 2006-10-17 16:18 ` AUTOFS3: Make sure all dentries refs are released before calling kill_anon_super() David Howells 2006-10-17 16:23 ` Ian Kent
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).