]> 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)
commit1528c2bbb302ec1823a0b8b4e581b0daf6d247a3
tree5cd1e8c52d77312fd59d2a9649b9633d78fc0719
parent0b5b267aa3a9d2ed99e4a86054236bde3d22c9ee
NFSv4: Add FMODE_CAN_ODIRECT after successful open of a NFS4.x file

Commit 2705bb11ba80 ("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: 2705bb11ba80 ("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