Re: [PATCH] async: Don't call async_synchronize_full_special() whileholding sb_lock

From: Arjan van de Ven
Date: Thu Jan 08 2009 - 19:39:04 EST


Alan Cox wrote:
On Thu, 08 Jan 2009 14:51:52 -0800
Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> wrote:

Dave Chinner wrote:
On Thu, Jan 08, 2009 at 09:46:31AM -0600, Dave Kleikamp wrote:
sync_filesystems() shouldn't be calling async_synchronize_full_special
while holding a spinlock. The second while loop in that function is the
right place for this anyway.
Out of curiousity, what on earth does
async_synchronize_full_special() do and why does it need to be in
sync_filesystems()?

now that we have asynchronous operations, this function makes sure that all the functions
that we started async before this point complete, so that what when you sync, you sync all in progress work.

So why is it special - wouldn't async_synchronize_all() be a bit (or
complete_all) be a bit more clear ?

there is 2 types; one synchronizes the global kernel events
one is special in that it only synchronizes the events you give it (via a list head)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/