aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2006-06-23 05:05:12 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-23 10:43:02 -0400
commit75e1fcc0b18df0a65ab113198e9dc0e98999a08c (patch)
tree3ac0d0d3120cbca4ee9734494e2c9a4e0775ac4f /drivers
parentff7b86b82083f24b8637dff1528c7101c18c7f39 (diff)
[PATCH] vfs: add lock owner argument to flush operation
Pass the POSIX lock owner ID to the flush operation. This is useful for filesystems which don't want to store any locking state in inode->i_flock but want to handle locking/unlocking POSIX locks internally. FUSE is one such filesystem but I think it possible that some network filesystems would need this also. Also add a flag to indicate that a POSIX locking request was generated by close(), so filesystems using the above feature won't send an extra locking request in this case. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/input/evdev.c2
-rw-r--r--drivers/scsi/osst.c2
-rw-r--r--drivers/scsi/st.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index ba325f16d07..5f561fce32d 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -82,7 +82,7 @@ static int evdev_fasync(int fd, struct file *file, int on)
82 return retval < 0 ? retval : 0; 82 return retval < 0 ? retval : 0;
83} 83}
84 84
85static int evdev_flush(struct file * file) 85static int evdev_flush(struct file * file, fl_owner_t id)
86{ 86{
87 struct evdev_list *list = file->private_data; 87 struct evdev_list *list = file->private_data;
88 if (!list->evdev->exist) return -ENODEV; 88 if (!list->evdev->exist) return -ENODEV;
diff --git a/drivers/scsi/osst.c b/drivers/scsi/osst.c
index ce0ba3a174f..4a2fed350d4 100644
--- a/drivers/scsi/osst.c
+++ b/drivers/scsi/osst.c
@@ -4724,7 +4724,7 @@ err_out:
4724 4724
4725 4725
4726/* Flush the tape buffer before close */ 4726/* Flush the tape buffer before close */
4727static int os_scsi_tape_flush(struct file * filp) 4727static int os_scsi_tape_flush(struct file * filp, fl_owner_t id)
4728{ 4728{
4729 int result = 0, result2; 4729 int result = 0, result2;
4730 struct osst_tape * STp = filp->private_data; 4730 struct osst_tape * STp = filp->private_data;
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index ad87d73f88e..1272dd249af 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -1193,7 +1193,7 @@ static int st_open(struct inode *inode, struct file *filp)
1193 1193
1194 1194
1195/* Flush the tape buffer before close */ 1195/* Flush the tape buffer before close */
1196static int st_flush(struct file *filp) 1196static int st_flush(struct file *filp, fl_owner_t id)
1197{ 1197{
1198 int result = 0, result2; 1198 int result = 0, result2;
1199 unsigned char cmd[MAX_COMMAND_SIZE]; 1199 unsigned char cmd[MAX_COMMAND_SIZE];