Re: [PATCH v7 13/14] xfs: prepare xfs_break_layouts() for another layout type

From: Christoph Hellwig
Date: Thu Mar 22 2018 - 03:27:43 EST


> + ASSERT(xfs_isilocked(ip, XFS_IOLOCK_SHARED | XFS_IOLOCK_EXCL
> + | (reason == BREAK_UNMAPI
> + ? XFS_MMAPLOCK_EXCL : 0)));

please split the assert, e.g.:

ASSERT(xfs_isilocked(ip, XFS_IOLOCK_SHARED | XFS_IOLOCK_EXCL));

switch (reason) {
+ case BREAK_UNMAPI:
ASSERT(xfs_isilocked(ip, XFS_MMAPLOCK_EXCL));
> + /* fall through */
> + case BREAK_WRITE:
> + error = xfs_break_leased_layouts(inode, iolock, &did_unlock);
> + break;
> + default:
> + error = -EINVAL;
> + break;
> + }
> +
> + return error;

I have to say I'd prefer BREAK_UNMAP over BREAK_UNMAPI given that weird
I suffix doesn't buy us anything, but that's just a minor issue.

Otherwise looks good:

Reviewed-by: Christoph Hellwig <hch@xxxxxx>