Trond Myklebust
5ac5f9d1ce
[PATCH] NLM: Fix the NLM_GRANTED callback checks
...
If 2 threads attached to the same process are blocking on different locks on
different files (maybe even on different servers) but have the same lock
arguments (i.e. same offset+length - actually quite common, since most
processes try to lock the entire file) then the first GRANTED call that wakes
one up will also wake the other.
Currently when the NLM_GRANTED callback comes in, lockd walks the list of
blocked locks in search of a match to the lock that the NLM server has
granted. Although it checks the lock pid, start and end, it fails to check
the filehandle and the server address.
By checking the filehandle and server IP address, we ensure that this only
happens if the locks truly are referencing the same file.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-14 16:09:34 -08:00
..
9p
[PATCH] v9fs: fix corner cases when flushing request
2006-02-03 08:32:06 -08:00
adfs
[PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason
2005-11-09 07:55:57 -08:00
affs
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
afs
add loglevel to printk in fs/afs/cmservice.c
2006-01-11 01:52:40 +01:00
autofs
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
autofs4
[PATCH] autofs4 oops fix
2006-01-14 18:25:19 -08:00
befs
bfs
cifs
[CIFS] Remove compiler warning
2006-01-27 18:36:11 -08:00
coda
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
configfs
[PATCH] BUG_ON() Conversion in fs/configfs/
2006-02-03 14:03:09 -08:00
cramfs
debugfs
[PATCH] debugfs: trivial comment fix
2006-02-06 12:17:18 -08:00
devfs
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
devpts
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
efs
return statement cleanup - kill pointless parentheses
2006-01-15 02:37:08 +01:00
exportfs
[PATCH] exportfs: add find_acceptable_alias helper
2006-01-18 19:20:28 -08:00
ext2
[PATCH] quota: fix error code for ext2_new_inode()
2006-02-03 08:32:09 -08:00
ext3
[PATCH] Fix two ext[23] uninitialized warnings
2006-02-03 08:32:05 -08:00
fat
[PATCH] fat: Fix truncate() write ordering
2006-02-03 08:32:10 -08:00
freevxfs
[PATCH] fix possible PAGE_CACHE_SHIFT overflows
2006-01-08 20:13:54 -08:00
fuse
[PATCH] fuse: fix request_end() vs fuse_reset_request() race
2006-02-05 11:06:51 -08:00
hfs
[PATCH] hfs: cleanup HFS prints
2006-01-18 19:20:23 -08:00
hfsplus
[PATCH] hfs: set type/creator for symlinks
2006-01-18 19:20:23 -08:00
hostfs
[PATCH] uml: hostfs - fix possible PAGE_CACHE_SHIFT overflows
2005-12-29 09:48:15 -08:00
hpfs
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
hppfs
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
hugetlbfs
[PATCH] mm: hugepage accounting fix
2006-02-01 08:53:15 -08:00
isofs
[PATCH] isofs: remove d_splice_alias NULL check from isofs_lookup
2006-01-14 18:27:12 -08:00
jbd
[PATCH] jbd: revert checkpoint list changes
2006-02-14 16:09:34 -08:00
jffs
[PATCH] fs/jffs/intrep.c: 255 is unsigned char
2006-02-03 08:32:05 -08:00
jffs2
[PATCH] Unlinline a bunch of other functions
2006-01-14 18:27:06 -08:00
jfs
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
lockd
[PATCH] NLM: Fix the NLM_GRANTED callback checks
2006-02-14 16:09:34 -08:00
minix
msdos
ncpfs
[PATCH] ncpfs: remove kmalloc wrapper
2006-01-14 18:27:12 -08:00
nfs
[PATCH] nfsroot port= parameter fix [backport of 2.4 fix]
2006-02-07 21:00:42 -05:00
nfs_common
nfsd
[PATCH] knfsd: fix nfs4_open lock leak
2006-02-07 16:12:31 -08:00
nls
ntfs
[PATCH] ntfs: remove superflous MS_NOATIME/MS_NODIRATIME assignments
2006-01-10 08:01:33 -08:00
ocfs2
[PATCH] ocfs2: don't wait on recovery when locking journal
2006-02-03 14:05:14 -08:00
openpromfs
partitions
[PATCH] partitions: Read Rio Karma partition table
2006-01-16 23:15:29 -08:00
proc
[PATCH] disable per cpu intr in /proc/stat
2006-02-03 08:32:07 -08:00
qnx4
fs/qnx4/bitmap.c: #if 0 qnx4_new_block()
2006-01-03 13:21:37 +01:00
ramfs
[PATCH] NOMMU: Provide shared-writable mmap support on ramfs
2006-01-06 08:33:32 -08:00
reiserfs
[PATCH] reiserfs: fix potential (unlikely) oops in reiserfs_get_acl
2006-02-13 08:56:01 -08:00
relayfs
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
romfs
[PATCH] fix possible PAGE_CACHE_SHIFT overflows
2006-01-08 20:13:54 -08:00
smbfs
[PATCH] smbfs readdir vs signal fix
2006-02-01 08:53:09 -08:00
sysfs
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
sysv
correct email address of Manfred Spraul
2006-01-15 02:43:54 +01:00
udf
[PATCH] UDF: Fix issues reported by Coverity in namei.c
2006-02-03 08:32:11 -08:00
ufs
[PATCH] ufs: fix hang during `rm'
2006-02-03 08:32:04 -08:00
vfat
xfs
[XFS] Fix missing inode atime update from the utime syscall.
2006-02-07 20:27:44 +11:00
aio.c
[PATCH] rcu file: use atomic primitives
2006-01-08 20:13:48 -08:00
attr.c
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
bad_inode.c
binfmt_aout.c
[PATCH] dump_thread() cleanup
2006-01-10 08:01:25 -08:00
binfmt_elf.c
[PATCH] Unlinline a bunch of other functions
2006-01-14 18:27:06 -08:00
binfmt_elf_fdpic.c
[PATCH] fs/binfmt_elf: Remove unneeded kmalloc() return value casts
2006-01-10 08:02:01 -08:00
binfmt_em86.c
binfmt_flat.c
[PATCH] uclinux: delay binfmt_flat trace
2006-01-10 09:31:27 -08:00
binfmt_misc.c
[PATCH] Unlinline a bunch of other functions
2006-01-14 18:27:06 -08:00
binfmt_script.c
binfmt_som.c
bio.c
[BLOCK] A few kerneldoc fixups
2006-01-31 15:24:34 +01:00
block_dev.c
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
buffer.c
[PATCH] Trivial optimization of ll_rw_block()
2006-02-03 08:32:10 -08:00
char_dev.c
[PATCH] convert /proc/devices to use seq_file interface
2006-01-14 18:25:19 -08:00
compat.c
[PATCH] select: fix returned timeval
2006-02-11 21:41:11 -08:00
compat_ioctl.c
[PATCH] compat_ioctl __user annotations
2006-02-08 01:04:01 -05:00
dcache.c
[PATCH] make "struct d_cookie" depend on CONFIG_PROFILING
2006-02-03 08:32:04 -08:00
dcookies.c
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
direct-io.c
[PATCH] fix O_DIRECT read of last block in a sparse file
2006-02-03 08:32:07 -08:00
dnotify.c
dquot.c
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
drop_caches.c
[PATCH] drop-pagecache
2006-01-08 20:12:40 -08:00
eventpoll.c
exec.c
[PATCH] vfs: *at functions: core
2006-01-18 19:20:29 -08:00
fcntl.c
[PATCH] fcntl F_SETFL and read-only IS_APPEND files
2006-02-03 08:32:07 -08:00
fifo.c
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
file.c
[PATCH] percpu data: only iterate over possible CPUs
2006-02-05 11:06:51 -08:00
file_table.c
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
filesystems.c
fs-writeback.c
inode.c
[PATCH] DocBook: fix some kernel-doc comments in fs and block
2006-02-01 08:53:27 -08:00
inotify.c
[PATCH] inotify: fix one-shot support
2006-02-07 16:12:33 -08:00
ioctl.c
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
ioprio.c
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
Kconfig
o Remove confusing Kconfig text for CONFIGFS_FS.
2006-02-03 13:47:17 -08:00
Kconfig.binfmt
[PATCH] frv: suppress configuration of certain features for FRV
2006-01-08 20:13:36 -08:00
libfs.c
[PATCH] debugfs: hard link count wrong
2006-02-03 08:32:11 -08:00
locks.c
[PATCH] tiny: Uninline some fslocks.c functions
2006-01-08 20:14:10 -08:00
Makefile
[PATCH] sanitize building of fs/compat_ioctl.c
2006-01-10 08:01:33 -08:00
mbcache.c
[PATCH] Unlinline a bunch of other functions
2006-01-14 18:27:06 -08:00
mpage.c
[PATCH] fix possible PAGE_CACHE_SHIFT overflows
2006-01-08 20:13:54 -08:00
namei.c
[PATCH] Fix do_path_lookup() to add the check for error in link_path_walk()
2006-02-07 16:12:32 -08:00
namespace.c
[PATCH] umount_tree() decrements mount count on wrong dentry
2006-02-07 21:01:15 -05:00
nfsctl.c
[PATCH] EDAC: atomic scrub operations
2006-01-18 19:20:30 -08:00
open.c
[PATCH] vfs: *at functions: core
2006-01-18 19:20:29 -08:00
pipe.c
[PATCH] Unlinline a bunch of other functions
2006-01-14 18:27:06 -08:00
pnode.c
[PATCH] shared mounts: cleanup
2006-01-08 20:13:56 -08:00
pnode.h
posix_acl.c
quota.c
[PATCH] capable/capability.h (fs/)
2006-01-11 18:42:13 -08:00
quota_v1.c
quota_v2.c
[PATCH] quota_v2: printk warning fixes
2006-02-03 08:32:03 -08:00
read_write.c
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
readdir.c
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
2006-01-09 15:59:24 -08:00
select.c
[PATCH] select: fix returned timeval
2006-02-11 21:41:11 -08:00
seq_file.c
stat.c
[PATCH] fstatat64 support
2006-02-11 21:41:10 -08:00
super.c
[PATCH] More informative message on umount failure
2006-02-07 16:12:33 -08:00
xattr.c
[PATCH] move xattr permission checks into the VFS
2006-01-10 08:01:29 -08:00
xattr_acl.c