From 052297a41fa0a327034666d9e9b0c4a009204194 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 26 Dec 2011 13:17:00 -0800 Subject: [PATCH] --- yaml --- r: 277023 b: refs/heads/master c: 7f54492fbca0074d7db117d7972a80347e0b40a5 h: refs/heads/master i: 277021: 50dc0c370d836438c259a8f9743bae8d57cade36 277019: 265f47aab972d245ba3c2b5ba07ab7568205dd5a 277015: 7b92c51a682bfab0b6550ef656298ce3c1c3fbbb 277007: 7fecc75ee7d418455eb00a5afdca49ffdaa2c73a 276991: afef2004d5595a144f687679a0dc8dab9a915ec2 v: v3 --- [refs] | 2 +- trunk/MAINTAINERS | 2 +- trunk/fs/locks.c | 11 +++-------- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 86eedf22dd43..2a454d8b1ad2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fae9dbb4b462d2c908186a47464c7a5299ee27a9 +refs/heads/master: 7f54492fbca0074d7db117d7972a80347e0b40a5 diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 6afba60c3904..0e7a80aefa0c 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -2700,7 +2700,7 @@ FIREWIRE SUBSYSTEM M: Stefan Richter L: linux1394-devel@lists.sourceforge.net W: http://ieee1394.wiki.kernel.org/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git S: Maintained F: drivers/firewire/ F: include/linux/firewire*.h diff --git a/trunk/fs/locks.c b/trunk/fs/locks.c index 3b0d05dcd7c1..637694bf3a03 100644 --- a/trunk/fs/locks.c +++ b/trunk/fs/locks.c @@ -1205,6 +1205,8 @@ int __break_lease(struct inode *inode, unsigned int mode) int want_write = (mode & O_ACCMODE) != O_RDONLY; new_fl = lease_alloc(NULL, want_write ? F_WRLCK : F_RDLCK); + if (IS_ERR(new_fl)) + return PTR_ERR(new_fl); lock_flocks(); @@ -1221,12 +1223,6 @@ int __break_lease(struct inode *inode, unsigned int mode) if (fl->fl_owner == current->files) i_have_this_lease = 1; - if (IS_ERR(new_fl) && !i_have_this_lease - && ((mode & O_NONBLOCK) == 0)) { - error = PTR_ERR(new_fl); - goto out; - } - break_time = 0; if (lease_break_time > 0) { break_time = jiffies + lease_break_time * HZ; @@ -1284,8 +1280,7 @@ int __break_lease(struct inode *inode, unsigned int mode) out: unlock_flocks(); - if (!IS_ERR(new_fl)) - locks_free_lock(new_fl); + locks_free_lock(new_fl); return error; }