Răsfoiți Sursa

fuse: send poll events

commit 626cf23660 "poll: add poll_requested_events()..." enabled us to send the
requested events to the filesystem.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Enke Chen 12 ani în urmă
părinte
comite
0415d29102
2 a modificat fișierele cu 3 adăugiri și 1 ștergeri
  1. 1 0
      fs/fuse/file.c
  2. 2 1
      include/uapi/linux/fuse.h

+ 1 - 0
fs/fuse/file.c

@@ -2167,6 +2167,7 @@ unsigned fuse_file_poll(struct file *file, poll_table *wait)
 		return DEFAULT_POLLMASK;
 		return DEFAULT_POLLMASK;
 
 
 	poll_wait(file, &ff->poll_wait, wait);
 	poll_wait(file, &ff->poll_wait, wait);
+	inarg.events = (__u32)poll_requested_events(wait);
 
 
 	/*
 	/*
 	 * Ask for notification iff there's someone waiting for it.
 	 * Ask for notification iff there's someone waiting for it.

+ 2 - 1
include/uapi/linux/fuse.h

@@ -63,6 +63,7 @@
  *
  *
  * 7.21
  * 7.21
  *  - add FUSE_READDIRPLUS
  *  - add FUSE_READDIRPLUS
+ *  - send the requested events in POLL request
  */
  */
 
 
 #ifndef _LINUX_FUSE_H
 #ifndef _LINUX_FUSE_H
@@ -585,7 +586,7 @@ struct fuse_poll_in {
 	__u64	fh;
 	__u64	fh;
 	__u64	kh;
 	__u64	kh;
 	__u32	flags;
 	__u32	flags;
-	__u32   padding;
+	__u32   events;
 };
 };
 
 
 struct fuse_poll_out {
 struct fuse_poll_out {