diff options
Diffstat (limited to 'fs')
-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) | |||
1276 | */ | 1276 | */ |
1277 | static int __setlease(struct file *filp, long arg, struct file_lock **flp) | 1277 | static int __setlease(struct file *filp, long arg, struct file_lock **flp) |
1278 | { | 1278 | { |
1279 | struct file_lock *fl, **before, **my_before = NULL, *lease = *flp; | 1279 | struct file_lock *fl, **before, **my_before = NULL, *lease; |
1280 | struct dentry *dentry = filp->f_dentry; | 1280 | struct dentry *dentry = filp->f_dentry; |
1281 | struct inode *inode = dentry->d_inode; | 1281 | struct inode *inode = dentry->d_inode; |
1282 | int error, rdlease_count = 0, wrlease_count = 0; | 1282 | int error, rdlease_count = 0, wrlease_count = 0; |
@@ -1287,6 +1287,8 @@ static int __setlease(struct file *filp, long arg, struct file_lock **flp) | |||
1287 | if (!flp || !(*flp) || !(*flp)->fl_lmops || !(*flp)->fl_lmops->fl_break) | 1287 | if (!flp || !(*flp) || !(*flp)->fl_lmops || !(*flp)->fl_lmops->fl_break) |
1288 | goto out; | 1288 | goto out; |
1289 | 1289 | ||
1290 | lease = *flp; | ||
1291 | |||
1290 | error = -EAGAIN; | 1292 | error = -EAGAIN; |
1291 | if ((arg == F_RDLCK) && (atomic_read(&inode->i_writecount) > 0)) | 1293 | if ((arg == F_RDLCK) && (atomic_read(&inode->i_writecount) > 0)) |
1292 | goto out; | 1294 | goto out; |