Commit 93e6aa43 authored by Kaixu Xia's avatar Kaixu Xia Committed by Dave Chinner
Browse files

xfs: reduce IOCB_NOWAIT judgment for retry exclusive unaligned DIO



Retry unaligned DIO with exclusive blocking semantics only when the
IOCB_NOWAIT flag is not set. If we are doing nonblocking user I/O,
propagate the error directly.

Signed-off-by: default avatarKaixu Xia <kaixuxia@tencent.com>
Reviewed-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
parent e62c7208
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -576,9 +576,9 @@ xfs_file_dio_write_unaligned(
	 * don't even bother trying the fast path in this case.
	 */
	if (iocb->ki_pos > isize || iocb->ki_pos + count >= isize) {
retry_exclusive:
		if (iocb->ki_flags & IOCB_NOWAIT)
			return -EAGAIN;
retry_exclusive:
		iolock = XFS_IOLOCK_EXCL;
		flags = IOMAP_DIO_FORCE_WAIT;
	}