summaryrefslogtreecommitdiffstats
path: root/fs/locks.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
commitd6434e1042f3b0a6dfe1b1f615af369486f9b1fa (patch)
treee2be02f33984c48ec019c654051d27964e42c441 /fs/locks.c
parent609d1e803baf519487233b765eb487f9ec227a18 (diff)
Merge with 2.3.19.
Diffstat (limited to 'fs/locks.c')
-rw-r--r--fs/locks.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/locks.c b/fs/locks.c
index 5cb324374..802958a68 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -193,6 +193,14 @@ static void locks_insert_block(struct file_lock *blocker,
{
struct file_lock *prevblock;
+ if (waiter->fl_prevblock) {
+ printk(KERN_ERR "locks_insert_block: remove duplicated lock "
+ "(pid=%d %ld-%ld type=%d)\n",
+ waiter->fl_pid, waiter->fl_start,
+ waiter->fl_end, waiter->fl_type);
+ locks_delete_block(waiter->fl_prevblock, waiter);
+ }
+
if (blocker->fl_prevblock == NULL)
/* No previous waiters - list is empty */
prevblock = blocker;
@@ -282,7 +290,7 @@ static void locks_wake_up_blocks(struct file_lock *blocker, unsigned int wait)
/* flock() system call entry point. Apply a FL_FLOCK style lock to
* an open file descriptor.
*/
-asmlinkage int sys_flock(unsigned int fd, unsigned int cmd)
+asmlinkage long sys_flock(unsigned int fd, unsigned int cmd)
{
struct file_lock file_lock;
struct file *filp;