[PATCH] xfs: use correct log reservation when handling ENOSPC inxfs_create
Alex Elder
aelder at sgi.com
Thu Sep 3 11:35:41 CDT 2009
Christoph Hellwig wrote:
> We added the ENOSPC handling patch in xfs_create just after it got mered
> with xfs_mkdir. Change the log reservation to the variable for either
> the create or mkdir value so it does the right thing if get here for creating
> a directory.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
>
> Index: xfs/fs/xfs/xfs_vnodeops.c
> ===================================================================
> --- xfs.orig/fs/xfs/xfs_vnodeops.c 2009-08-24 11:35:52.794261954 -0300
> +++ xfs/fs/xfs/xfs_vnodeops.c 2009-08-24 11:36:25.466636450 -0300
> @@ -1479,8 +1479,8 @@ xfs_create(
> if (error == ENOSPC) {
> /* flush outstanding delalloc blocks and retry */
> xfs_flush_inodes(dp);
> - error = xfs_trans_reserve(tp, resblks, XFS_CREATE_LOG_RES(mp), 0,
> - XFS_TRANS_PERM_LOG_RES, XFS_CREATE_LOG_COUNT);
> + error = xfs_trans_reserve(tp, resblks, log_res, 0,
> + XFS_TRANS_PERM_LOG_RES, log_count);
> }
> if (error == ENOSPC) {
> /* No space at all so try a "no-allocation" reservation */
>
Looks good.
Reviewed-by: Alex Elder <aelder at sgi.com>
More information about the xfs
mailing list