Re: [PATCH] deadlock with suspend and quotas

From: Al Viro
Date: Mon Jan 02 2012 - 22:30:08 EST


On Fri, Nov 25, 2011 at 03:25:16PM -0500, Mikulas Patocka wrote:

> The following patch fixes the deadlock. When the quota subsystem takes s_umount,
> it checks if the filesystem is frozen. If it is, we drop s_umount, wait for
> the filesystem to resume and retry.
>
> Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
> CC: stable@xxxxxxxxxx

So basically you want a variant of get_super() that would get you a
superblock for this bdev, locked and unfrozen? Fair enough, but
* that should be a proper helper in super.c, rather than
open-coded in fs/quota/quota.c, of all places
* what about other existing callers get_super() and its friends?

and while we are at it, why in damnation name is it exported? The only
caller outside of core VFS is under #if 0...
--
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/