linux-stable/Documentation/filesystems
J. Bruce Fields 28df3d1539 nfsd: clients don't need to break their own delegations
We currently revoke read delegations on any write open or any operation
that modifies file data or metadata (including rename, link, and
unlink).  But if the delegation in question is the only read delegation
and is held by the client performing the operation, that's not really
necessary.

It's not always possible to prevent this in the NFSv4.0 case, because
there's not always a way to determine which client an NFSv4.0 delegation
came from.  (In theory we could try to guess this from the transport
layer, e.g., by assuming all traffic on a given TCP connection comes
from the same client.  But that's not really correct.)

In the NFSv4.1 case the session layer always tells us the client.

This patch should remove such self-conflicts in all cases where we can
reliably determine the client from the compound.

To do that we need to track "who" is performing a given (possibly
lease-breaking) file operation.  We're doing that by storing the
information in the svc_rqst and using kthread_data() to map the current
task back to a svc_rqst.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2020-05-08 21:23:10 -04:00
..
caching Documentation: Use "while" instead of "whilst" 2018-11-20 09:30:43 -07:00
cifs Documentation: nfsroot.rst: Fix references to nfsroot.rst 2020-03-02 13:11:46 -07:00
configfs configfs: fix wrong name of struct in documentation 2018-12-20 08:41:38 -07:00
ext4 Added new ext4 debugging ioctls to allow userspace to get information 2019-09-21 13:37:39 -07:00
nfs Documentation: nfs: knfsd-stats: convert to ReST 2020-02-13 11:21:35 -07:00
9p.rst 9p pull request for inclusion in 5.7 (take 2) 2020-04-08 21:51:14 -07:00
adfs.rst docs: filesystems: convert adfs.txt to ReST 2020-03-02 13:58:44 -07:00
affs.rst docs: filesystems: convert affs.txt to ReST 2020-03-02 14:01:06 -07:00
afs.rst docs: filesystems: convert afs.txt to ReST 2020-03-02 14:01:25 -07:00
api-summary.rst docs: no structured comments in fs/file_table.c 2019-05-24 15:03:39 -06:00
autofs-mount-control.rst docs: filesystems: convert autofs-mount-control.txt to ReST 2020-03-02 14:01:25 -07:00
autofs.rst docs: filesystems: Add mount map description in Content 2019-11-18 12:19:59 -07:00
automount-support.txt Documentation: filesystems: automount-support: Change reference to document autofs.txt to autofs.rst 2019-12-19 09:35:51 -07:00
befs.rst docs: filesystems: convert befs.txt to ReST 2020-03-02 14:01:25 -07:00
bfs.rst docs: filesystems: convert bfs.txt to ReST 2020-03-02 14:01:26 -07:00
btrfs.rst docs: filesystems: convert btrfs.txt to ReST 2020-03-02 14:01:28 -07:00
ceph.rst The main items are: 2020-04-08 21:44:05 -07:00
coda.txt coda: Fix typo in the struct CodaCred documentation 2019-07-30 14:19:41 -06:00
cramfs.rst docs: filesystems: convert cramfs.txt to ReST 2020-03-02 14:02:07 -07:00
dax.txt Documentation: filesystem: Convert xfs.txt to ReST 2019-07-15 09:15:09 -07:00
debugfs.rst debugfs: remove return value of debugfs_create_u32() 2020-04-17 17:08:50 +02:00
devpts.txt
directory-locking.rst docs: fs: convert docs without extension to ReST 2019-07-31 13:31:05 -06:00
dlmfs.rst docs: filesystems: convert dlmfs.txt to ReST 2020-03-02 14:02:24 -07:00
dnotify.txt Documentation: fix selftests related file refs 2017-10-19 12:58:21 -06:00
ecryptfs.rst docs: prevent warnings due to autosectionlabel 2020-03-20 17:01:29 -06:00
efivarfs.rst docs: filesystems: convert efivarfs.txt to ReST 2020-03-02 14:02:57 -07:00
erofs.rst docs: filesystems: convert erofs.txt to ReST 2020-03-02 14:02:57 -07:00
ext2.rst docs: filesystems: convert ext2.txt to ReST 2020-03-02 14:02:59 -07:00
ext3.rst docs: filesystems: convert ext3.txt to ReST 2020-03-02 14:03:16 -07:00
f2fs.rst f2fs-for-5.7-rc1 2020-04-07 13:48:26 -07:00
fiemap.txt Documentation: correct the description of FIEMAP_EXTENT_LAST 2020-03-14 14:43:13 -04:00
files.txt
fscrypt.rst fscrypt: add FS_IOC_GET_ENCRYPTION_NONCE ioctl 2020-03-19 21:56:54 -07:00
fsverity.rst docs: fs-verity: mention statx() support 2019-11-13 12:15:34 -08:00
fuse-io.txt fuse: add writeback documentation 2018-03-20 17:11:45 +01:00
fuse.rst docs: filesystems: fuse.rst: supress a Sphinx warning 2020-03-10 11:55:25 -06:00
gfs2-glocks.txt GFS2: Minor improvements to comments and documentation 2018-04-12 10:07:51 -07:00
gfs2-uevents.rst docs: filesystems: convert gfs2-uevents.txt to ReST 2020-03-02 14:03:35 -07:00
gfs2.rst docs: filesystems: convert gfs2.txt to ReST 2020-03-02 14:03:18 -07:00
hfs.rst docs: filesystems: convert hfs.txt to ReST 2020-03-02 14:03:48 -07:00
hfsplus.rst docs: filesystems: convert hfsplus.txt to ReST 2020-03-02 14:03:47 -07:00
hpfs.rst docs: filesystems: convert hpfs.txt to ReST 2020-03-02 14:03:48 -07:00
index.rst doc: zh_CN: index files in filesystems subdirectory 2020-03-20 17:19:31 -06:00
inotify.rst docs: filesystems: convert inotify.txt to ReST 2020-03-02 14:03:55 -07:00
isofs.rst docs: filesystems: convert isofs.txt to ReST 2020-03-02 14:04:06 -07:00
journalling.rst docs: Bring some order to filesystem documentation 2019-03-06 09:46:10 -07:00
locking.rst nfsd: clients don't need to break their own delegations 2020-05-08 21:23:10 -04:00
locks.txt
mandatory-locking.txt locks: print a warning when mount fails due to lack of "mand" support 2019-08-16 12:13:48 -04:00
mount_api.txt fs_parser: remove fs_parameter_description name field 2020-02-07 14:48:36 -05:00
nilfs2.rst docs: filesystems: convert nilfs2.txt to ReST 2020-03-02 14:04:06 -07:00
ntfs.rst docs: filesystems: convert ntfs.txt to ReST 2020-03-02 14:04:06 -07:00
ocfs2-online-filecheck.rst docs: filesystems: convert ocfs2-online-filecheck.txt to ReST 2020-03-02 14:04:06 -07:00
ocfs2.rst docs: filesystems: convert ocfs2.txt to ReST 2020-03-02 14:04:08 -07:00
omfs.rst docs: filesystems: convert omfs.txt to ReST 2020-03-02 14:04:26 -07:00
orangefs.rst orangefs: a fix and two cleanups and a merge conflict 2020-04-10 17:50:01 -07:00
overlayfs.rst ovl: document xino expected behavior 2020-03-27 16:51:02 +01:00
path-lookup.rst sanitize handling of nd->last_type, kill LAST_BIND 2020-03-13 21:08:19 -04:00
path-lookup.txt
porting.rst cifs_atomic_open(): fix double-put on late allocation failure 2020-03-12 18:25:20 -04:00
proc.rst docs: filesystems: convert proc.txt to ReST 2020-03-02 14:04:40 -07:00
qnx6.rst docs: filesystems: fix typo in qnx6.rst 2020-04-07 13:20:56 -06:00
quota.txt
ramfs-rootfs-initramfs.rst docs: filesystems: convert ramfs-rootfs-initramfs.txt to ReST 2020-03-02 14:04:41 -07:00
relay.rst docs: filesystems: convert relay.txt to ReST 2020-03-02 14:04:41 -07:00
romfs.rst docs: filesystems: convert romfs.txt to ReST 2020-03-02 14:04:41 -07:00
seq_file.txt fs/seq_file.c: simplify seq_file iteration code and interface 2018-08-17 16:20:28 -07:00
sharedsubtree.txt
splice.rst docs: Bring some order to filesystem documentation 2019-03-06 09:46:10 -07:00
spufs.txt Documentation: fix spelling mistake, EACCESS -> EACCES 2018-11-07 15:28:55 -07:00
squashfs.rst docs: filesystems: convert squashfs.txt to ReST 2020-03-02 14:04:41 -07:00
sysfs-pci.txt
sysfs-tagging.txt
sysfs.rst docs: filesystems: convert sysfs.txt to ReST 2020-03-02 14:04:41 -07:00
sysv-fs.rst docs: filesystems: convert sysv-fs.txt to ReST 2020-03-02 14:04:41 -07:00
tmpfs.rst docs: filesystems: convert tmpfs.txt to ReST 2020-03-02 14:04:41 -07:00
ubifs-authentication.rst docs: filesystems: convert ubifs-authentication.rst.txt to ReST 2020-03-02 14:04:41 -07:00
ubifs.rst docs: filesystems: convert ubifs.txt to ReST 2020-03-02 14:04:41 -07:00
udf.rst docs: filesystems: convert udf.txt to ReST 2020-03-02 14:04:52 -07:00
vfat.rst Documentation: filesystems: convert vfat.txt to RST 2020-01-10 10:58:45 -07:00
vfs.rst docs: fs: convert docs without extension to ReST 2019-07-31 13:31:05 -06:00
virtiofs.rst doc: zh_CN: add translation for virtiofs 2020-03-20 17:19:35 -06:00
xfs-delayed-logging-design.txt Documentation: xfs: Fix typo 2019-06-07 11:42:20 -06:00
xfs-self-describing-metadata.txt xfs: add struct xfs_mount pointer to struct xfs_buf 2019-06-28 19:27:29 -07:00
zonefs.rst This has been a busy cycle for documentation work. Highlights include: 2020-03-30 12:45:23 -07:00