[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