diff options
author | 2005-07-13 16:23:51 -0400 | |
---|---|---|
committer | 2005-07-13 16:23:51 -0400 | |
commit | 327309e899662b482c58cf25f574513d38b5788c (patch) | |
tree | 069de438aa0e92dd9b6ba28e6b207e2cd07151a5 /fs/locks.c | |
parent | Merge upstream 2.6.13-rc1-git1 into 'ieee80211' branch of netdev-2.6. (diff) | |
parent | Linux 2.6.13-rc3 (diff) | |
download | linux-dev-327309e899662b482c58cf25f574513d38b5788c.tar.xz linux-dev-327309e899662b482c58cf25f574513d38b5788c.zip |
Merge upstream 2.6.13-rc3 into ieee80211 branch of netdev-2.6.
Diffstat (limited to 'fs/locks.c')
-rw-r--r-- | fs/locks.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/locks.c b/fs/locks.c index a0bc03495bd4..29fa5da6c117 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -1276,7 +1276,7 @@ int fcntl_getlease(struct file *filp) */ static int __setlease(struct file *filp, long arg, struct file_lock **flp) { - struct file_lock *fl, **before, **my_before = NULL, *lease = *flp; + struct file_lock *fl, **before, **my_before = NULL, *lease; struct dentry *dentry = filp->f_dentry; struct inode *inode = dentry->d_inode; int error, rdlease_count = 0, wrlease_count = 0; @@ -1287,6 +1287,8 @@ static int __setlease(struct file *filp, long arg, struct file_lock **flp) if (!flp || !(*flp) || !(*flp)->fl_lmops || !(*flp)->fl_lmops->fl_break) goto out; + lease = *flp; + error = -EAGAIN; if ((arg == F_RDLCK) && (atomic_read(&inode->i_writecount) > 0)) goto out; |