Thread (6 messages) 6 messages, 3 authors, 2011-01-12

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

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help