linux/Documentation/filesystems
Jeff Layton 12965a190e
filelock: allow lease_managers to dictate what qualifies as a conflict
Requesting a delegation on a file from the userland fcntl() interface
currently succeeds when there are conflicting opens present.

This is because the lease handling code ignores conflicting opens for
FL_LAYOUT and FL_DELEG leases. This was a hack put in place long ago,
because nfsd already checks for conflicts in its own way. The kernel
needs to perform this check for userland delegations the same way it is
done for leases, however.

Make this dependent on the lease_manager by adding a new
->lm_open_conflict() lease_manager operation and have
generic_add_lease() call that instead of check_conflicting_open().
Morph check_conflicting_open() into a ->lm_open_conflict() op that is
only called for userland leases/delegations. Set the
->lm_open_conflict() operations for nfsd to trivial functions that
always return 0.

Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Link: https://patch.msgid.link/20251204-dir-deleg-ro-v2-2-22d37f92ce2c@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-12-15 15:20:33 +01:00
..
caching
ext4 Documentation: ext4: Document casefold and encrypt flags 2025-11-26 17:13:34 -05:00
fuse Documentation: fuse: Consolidate FUSE docs into its own subdirectory 2025-08-27 14:29:43 +02:00
gfs2 Documentation: gfs2: Consolidate GFS2 docs into its own subdirectory 2025-10-31 21:00:43 +00:00
iomap fs, iomap: remove IOCB_DIO_CALLER_COMP 2025-11-25 10:22:18 +01:00
nfs NFSD: nfsd-io-modes: Separate lists 2025-12-03 09:05:14 -05:00
smb cifs: add documentation for smbdirect setup 2025-06-05 10:20:48 -05:00
spufs
xfs xfs: new code for v6.19 2025-12-03 20:19:38 -08:00
9p.rst
adfs.rst
affs.rst
afs.rst
api-summary.rst
autofs-mount-control.rst
autofs.rst
automount-support.rst
befs.rst
bfs.rst
btrfs.rst
buffer.rst
ceph.rst
coda.rst
configfs.rst
cramfs.rst
dax.rst doc: Remove misleading reference to brd in dax.rst 2025-06-25 12:49:29 -06:00
debugfs.rst
devpts.rst
directory-locking.rst
dlmfs.rst
dnotify.rst
ecryptfs.rst
efivarfs.rst
erofs.rst Documentation: Fix filesystems typos 2025-08-18 10:31:19 -06:00
ext2.rst
ext3.rst
f2fs.rst docs: f2fs: wrap ASCII tables in literal blocks to fix LaTeX build 2025-12-04 02:00:05 +00:00
fiemap.rst
files.rst
fscrypt.rst fscrypt: Drop obsolete recommendation to enable optimized POLYVAL 2025-11-11 11:03:39 -08:00
fsverity.rst fsverity: Switch from crypto_shash to SHA-2 library 2025-07-14 11:29:32 -07:00
hfs.rst
hfsplus.rst
hpfs.rst Documentation: Fix filesystems typos 2025-08-18 10:31:19 -06:00
idmappings.rst
index.rst Documentation: gfs2: Consolidate GFS2 docs into its own subdirectory 2025-10-31 21:00:43 +00:00
inotify.rst
isofs.rst
journalling.rst
locking.rst filelock: allow lease_managers to dictate what qualifies as a conflict 2025-12-15 15:20:33 +01:00
locks.rst
mount_api.rst change the calling conventions for vfs_parse_fs_string() 2025-09-04 15:20:51 -04:00
multigrain-ts.rst
netfs_library.rst
nilfs2.rst
ntfs3.rst
ocfs2-online-filecheck.rst Documentation: ocfs2: Properly reindent filecheck operations list 2025-08-29 15:50:50 -06:00
ocfs2.rst
omfs.rst
orangefs.rst
overlayfs.rst overlayfs.rst: fix typos 2025-07-15 13:53:46 -06:00
path-lookup.rst
path-lookup.txt
porting.rst Some filesystems use a kinda-sorta controlled dentry refcount leak to pin 2025-12-05 14:36:21 -08:00
proc.rst mm: introduce VM_MAYBE_GUARD and make visible in /proc/$pid/smaps 2025-11-20 13:43:58 -08:00
propagate_umount.txt docs: fix trailing whitespace error and remove repeated words in propagate_umount.txt 2025-08-21 12:49:01 -06:00
qnx6.rst
quota.rst
ramfs-rootfs-initramfs.rst docs: replace broken links in ramfs-rootfs-initramfs docs 2025-10-29 16:19:26 -06:00
relay.rst - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
resctrl.rst fs/resctrl: Update bit_usage to reflect io_alloc 2025-11-22 14:30:34 +01:00
romfs.rst
seq_file.rst
sharedsubtree.rst Documentation: sharedsubtree: Convert notes to note directive 2025-08-29 16:40:01 -06:00
splice.rst
squashfs.rst
sysfs.rst It has been a relatively busy cycle in docsland, with changes all over: 2025-10-03 17:16:13 -07:00
tmpfs.rst
ubifs-authentication.rst Documentation: treewide: Replace remaining spinics links with lore 2025-06-21 14:20:51 -06:00
ubifs.rst
udf.rst
vfat.rst
vfs.rst doc: update porting, vfs documentation for mmap_prepare actions 2025-11-16 17:28:13 -08:00
virtiofs.rst
zonefs.rst