Messages in this thread | | | Date | Fri, 12 Aug 2005 11:10:56 -0400 | From | Jeff Mahoney <> | Subject | Re: BUG: reiserfs+acl+quota deadlock |
| |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Vladimir V. Saveliev wrote: > Hello > > Jan Kara wrote: >>> Tried the attached patch but it changed nothing, I trying to create >>> a new file as a user whose quota grace time has ran out will still >>> cause everything accessing the users homedir (the one with the quota) >>> to hang in D state. >>> >>> Also note that the bug I reported only exists when acl is also >>> enabled (does not have to be used). And although my kernel is not >>> built with debug (or reiserfs debug) support, I don't get any >>> oopses or reiserfs errors.. it just hangs. >> > > It looks like the problem is that reiserfs_new_inode can be called > either having xattrs locked or not. > It does unlocking/locking xattrs on error handling path, but has no idea > about whether > xattrs are locked of not. > The attached patch seems to fix the problem. > I am not sure whether it is correct way to fix this problem, though.
Does this patch actually fix it? It shouldn't.
The logic is like this: If a default ACL is associated with the parent when the inode is created, xattrs will be locked so that the ACL can be inherited. Since reiserfs_new_inode is called from the VFS layer with inode->i_sem downed, {set,remove}xattr is locked out. The default ACL can't be removed/added/changed while reiserfs_new_inode is running. Therefore, if there is a default ACL, xattrs must be locked.
- -Jeff
- -- Jeff Mahoney SuSE Labs -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFC/LwALPWxlyuTD7IRAl1hAJ9dVKCWPYdMO85+EKjL+2kq9dy3ngCfdS9w 56060gxdR2z0d6UFP79yQ1A= =S8+3 -----END PGP SIGNATURE----- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |