]> git.baikalelectronics.ru Git - kernel.git/commit
NFSv4: Add FMODE_CAN_ODIRECT after successful open of a NFS4.x file
authorDave Wysochanski <dwysocha@redhat.com>
Fri, 10 Jun 2022 00:46:29 +0000 (20:46 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Wed, 15 Jun 2022 19:03:12 +0000 (15:03 -0400)
commit5b2c25c469c49b0102003e1d37c2bb281ab4ab49
tree5cd1e8c52d77312fd59d2a9649b9633d78fc0719
parent87578af2f38da932c63afdbd7cedb524cbb7d814
NFSv4: Add FMODE_CAN_ODIRECT after successful open of a NFS4.x file

Commit c09eb702006e ("VFS: add FMODE_CAN_ODIRECT file flag")
added the FMODE_CAN_ODIRECT flag for NFSv3 but neglected to add
it for NFSv4.x.  This causes direct io on NFSv4.x to fail open
with EINVAL:
  mount -o vers=4.2 127.0.0.1:/export /mnt/nfs4
  dd if=/dev/zero of=/mnt/nfs4/file.bin bs=128k count=1 oflag=direct
  dd: failed to open '/mnt/nfs4/file.bin': Invalid argument
  dd of=/dev/null if=/mnt/nfs4/file.bin bs=128k count=1 iflag=direct
  dd: failed to open '/mnt/dir1/file1.bin': Invalid argument

Fixes: c09eb702006e ("VFS: add FMODE_CAN_ODIRECT file flag")
Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/dir.c
fs/nfs/nfs4file.c