diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-07 15:34:24 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-07 15:34:24 -0400 |
| commit | 2d56d3c43cc97ae48586745556f5a5b564d61582 (patch) | |
| tree | 28f2edc1e69b79e94d99023041dd0358861b6956 /fs/nfs/file.c | |
| parent | 0f9008ef38d5a6305d94bbdd8f20d68fc75c63b6 (diff) | |
| parent | 586759f03e2e9031ac5589912a51a909ed53c30a (diff) | |
Merge branch 'server-cluster-locking-api' of git://linux-nfs.org/~bfields/linux
* 'server-cluster-locking-api' of git://linux-nfs.org/~bfields/linux:
gfs2: nfs lock support for gfs2
lockd: add code to handle deferred lock requests
lockd: always preallocate block in nlmsvc_lock()
lockd: handle test_lock deferrals
lockd: pass cookie in nlmsvc_testlock
lockd: handle fl_grant callbacks
lockd: save lock state on deferral
locks: add fl_grant callback for asynchronous lock return
nfsd4: Convert NFSv4 to new lock interface
locks: add lock cancel command
locks: allow {vfs,posix}_lock_file to return conflicting lock
locks: factor out generic/filesystem switch from setlock code
locks: factor out generic/filesystem switch from test_lock
locks: give posix_test_lock same interface as ->lock
locks: make ->lock release private data before returning in GETLK case
locks: create posix-to-flock helper functions
locks: trivial removal of unnecessary parentheses
Diffstat (limited to 'fs/nfs/file.c')
| -rw-r--r-- | fs/nfs/file.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 8e66b5a2d490..5eaee6dd040b 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c | |||
| @@ -391,17 +391,12 @@ out_swapfile: | |||
| 391 | 391 | ||
| 392 | static int do_getlk(struct file *filp, int cmd, struct file_lock *fl) | 392 | static int do_getlk(struct file *filp, int cmd, struct file_lock *fl) |
| 393 | { | 393 | { |
| 394 | struct file_lock cfl; | ||
| 395 | struct inode *inode = filp->f_mapping->host; | 394 | struct inode *inode = filp->f_mapping->host; |
| 396 | int status = 0; | 395 | int status = 0; |
| 397 | 396 | ||
| 398 | lock_kernel(); | 397 | lock_kernel(); |
| 399 | /* Try local locking first */ | 398 | /* Try local locking first */ |
| 400 | if (posix_test_lock(filp, fl, &cfl)) { | 399 | if (posix_test_lock(filp, fl)) { |
| 401 | fl->fl_start = cfl.fl_start; | ||
| 402 | fl->fl_end = cfl.fl_end; | ||
| 403 | fl->fl_type = cfl.fl_type; | ||
| 404 | fl->fl_pid = cfl.fl_pid; | ||
| 405 | goto out; | 400 | goto out; |
| 406 | } | 401 | } |
| 407 | 402 | ||
