On Thu, Jan 8, 2009 at 22:37, Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> wrote: > > The offender is > http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=efaee192 > > async_synchronize_full_special() shouldn't be called while holding a > spinlock, sb_lock. > > I think this patch should fix it. Arjan, would this work? > > Signed-off-by: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> > > diff --git a/fs/super.c b/fs/super.c > index cb20744..7d67387 100644 > --- a/fs/super.c > +++ b/fs/super.c > @@ -458,7 +458,6 @@ void sync_filesystems(int wait) > if (sb->s_flags & MS_RDONLY) > continue; > sb->s_need_sync_fs = 1; > - async_synchronize_full_special(&sb->s_async_list); > } > > restart: > @@ -471,6 +470,7 @@ restart: > sb->s_count++; > spin_unlock(&sb_lock); > down_read(&sb->s_umount); > + async_synchronize_full_special(&sb->s_async_list); > if (sb->s_root && (wait || sb->s_dirt)) > sb->s_op->sync_fs(sb, wait); > up_read(&sb->s_umount); > > -- > David Kleikamp > IBM Linux Technology Center > > Problem gone with this patch applied. Thanks for the fixing. -- Cheers, Grissiom -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html