[PATCH] xfs: fix double IRELE in xfs_dqrele_inode
Alex Elder
aelder at sgi.com
Mon Oct 12 20:27:14 CDT 2009
On , Christoph Hellwig wrote:
> xfs_dqrele_inode calls xfs_iput to release the ilock and a reference
> and then also calls IRELE which does a second decrement of the reference
> count. This leads to a premature freeing of inodes when quotas were turned
> off while the filesystem was mounted.
Regression was caused by fe588ed32867b42e0d906db558ca92fd9f8b128e
Fix looks good. I'll push it to Linus tomorrow.
> Thanks to Utako Kusaka for reporting the bug and provinding a good testcase.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> Reported-by: Utako Kusaka <u-kusaka at wm.jp.nec.com>
Reviewed-by: Alex Elder <aelder at sgi.com>
> Index: xfs/fs/xfs/quota/xfs_qm_syscalls.c
> ===================================================================
> --- xfs.orig/fs/xfs/quota/xfs_qm_syscalls.c 2009-10-11 13:41:52.932012023 -0300
> +++ xfs/fs/xfs/quota/xfs_qm_syscalls.c 2009-10-11 13:42:04.060016467 -0300
> @@ -876,7 +876,6 @@ xfs_dqrele_inode(
> ip->i_gdquot = NULL;
> }
> xfs_iput(ip, XFS_ILOCK_EXCL);
> - IRELE(ip);
>
> return 0;
> }
>
> _______________________________________________
> xfs mailing list
> xfs at oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
More information about the xfs
mailing list