summaryrefslogtreecommitdiffstats
path: root/fs/lockd/svc.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2008-12-20 20:58:38 +0100
committerJ. Bruce Fields <bfields@citi.umich.edu>2009-01-07 21:40:27 +0100
commit55ef1274dddd4de387c54d110e354ffbb6cdc706 (patch)
tree27d67f6c6929a55239a18d532850807aeaf1b6c4 /fs/lockd/svc.c
parentSUNRPC: Ensure the server closes sockets in a timely fashion (diff)
downloadlinux-55ef1274dddd4de387c54d110e354ffbb6cdc706.tar.xz
linux-55ef1274dddd4de387c54d110e354ffbb6cdc706.zip
nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT
Since nfsv4 allows LOCKT without an open, but the ->lock() method is a file method, we fake up a struct file in the nfsv4 code with just the fields we need initialized. But we forgot to initialize the file operations, with the result that LOCKT never results in a call to the filesystem's ->lock() method (if it exists). We could just add that one more initialization. But this hack of faking up a struct file with only some fields initialized seems the kind of thing that might cause more problems in the future. We should either do an open and get a real struct file, or make lock-testing an inode (not a file) method. This patch does the former. Reported-by: Marc Eshel <eshel@almaden.ibm.com> Tested-by: Marc Eshel <eshel@almaden.ibm.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/lockd/svc.c')
0 files changed, 0 insertions, 0 deletions