Re: [PATCH] quota: Fix deadlock during path resolution
From: Ted Ts'o <tytso@mit.edu>
Date: 2011-01-07 21:59:04
Also in:
linux-fsdevel, ocfs2-devel
On Thu, Sep 16, 2010 at 11:55:53AM +0200, Jan Kara wrote:
On Thu 16-09-10 00:52:08, Christoph Hellwig wrote:quoted
On Wed, Sep 15, 2010 at 11:39:51PM +0200, Jan Kara wrote:quoted
As Al Viro pointed out path resolution during Q_QUOTAON calls to quotactl is prone to deadlocks. We hold s_umount semaphore for reading during the path resolution and resolution itself may need to acquire the semaphore for writing when e. g. autofs mountpoint is passed. Solve the problem by performing the resolution before we get hold of the superblock (and thus s_umount semaphore). The whole thing is complicated by the fact that some filesystems (OCFS2) ignore the path argument. So to distinguish between filesystem which want the path and which do not we introduce new .quota_on_meta callback which does not get the path. OCFS2 then uses this callback instead of old .quota_on.FYI I have a patch that switches ocfs to share the quota_on method with XFS which behaves the same, and consolidate the quota_off method for all filesystems. I think that's better than adding yet another method. I'll rebase it and send it out soon.Ok, that would be nice. I'll wait with my fix then.
I was going through my ext4 patch backlog, and came across this patch http://patchwork.ozlabs.org/patch/64910/ Did anything ever happen with Christoph's ocfs2 quota patch, which he was going to rebase? I took a quick gander in git and I didn't see anything, but maybe I was looking in the wrong place. Thanks, - Ted