diff options
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/Locking | 7 | ||||
-rw-r--r-- | Documentation/filesystems/vfs.txt | 13 |
2 files changed, 1 insertions, 19 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 2c391338c675..37bf0a9de75c 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -441,8 +441,6 @@ prototypes: | |||
441 | int (*iterate) (struct file *, struct dir_context *); | 441 | int (*iterate) (struct file *, struct dir_context *); |
442 | int (*iterate_shared) (struct file *, struct dir_context *); | 442 | int (*iterate_shared) (struct file *, struct dir_context *); |
443 | __poll_t (*poll) (struct file *, struct poll_table_struct *); | 443 | __poll_t (*poll) (struct file *, struct poll_table_struct *); |
444 | struct wait_queue_head * (*get_poll_head)(struct file *, __poll_t); | ||
445 | __poll_t (*poll_mask) (struct file *, __poll_t); | ||
446 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); | 444 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); |
447 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); | 445 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); |
448 | int (*mmap) (struct file *, struct vm_area_struct *); | 446 | int (*mmap) (struct file *, struct vm_area_struct *); |
@@ -473,7 +471,7 @@ prototypes: | |||
473 | }; | 471 | }; |
474 | 472 | ||
475 | locking rules: | 473 | locking rules: |
476 | All except for ->poll_mask may block. | 474 | All may block. |
477 | 475 | ||
478 | ->llseek() locking has moved from llseek to the individual llseek | 476 | ->llseek() locking has moved from llseek to the individual llseek |
479 | implementations. If your fs is not using generic_file_llseek, you | 477 | implementations. If your fs is not using generic_file_llseek, you |
@@ -505,9 +503,6 @@ in sys_read() and friends. | |||
505 | the lease within the individual filesystem to record the result of the | 503 | the lease within the individual filesystem to record the result of the |
506 | operation | 504 | operation |
507 | 505 | ||
508 | ->poll_mask can be called with or without the waitqueue lock for the waitqueue | ||
509 | returned from ->get_poll_head. | ||
510 | |||
511 | --------------------------- dquot_operations ------------------------------- | 506 | --------------------------- dquot_operations ------------------------------- |
512 | prototypes: | 507 | prototypes: |
513 | int (*write_dquot) (struct dquot *); | 508 | int (*write_dquot) (struct dquot *); |
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 829a7b7857a4..f608180ad59d 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -857,8 +857,6 @@ struct file_operations { | |||
857 | ssize_t (*write_iter) (struct kiocb *, struct iov_iter *); | 857 | ssize_t (*write_iter) (struct kiocb *, struct iov_iter *); |
858 | int (*iterate) (struct file *, struct dir_context *); | 858 | int (*iterate) (struct file *, struct dir_context *); |
859 | __poll_t (*poll) (struct file *, struct poll_table_struct *); | 859 | __poll_t (*poll) (struct file *, struct poll_table_struct *); |
860 | struct wait_queue_head * (*get_poll_head)(struct file *, __poll_t); | ||
861 | __poll_t (*poll_mask) (struct file *, __poll_t); | ||
862 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); | 860 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); |
863 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); | 861 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); |
864 | int (*mmap) (struct file *, struct vm_area_struct *); | 862 | int (*mmap) (struct file *, struct vm_area_struct *); |
@@ -903,17 +901,6 @@ otherwise noted. | |||
903 | activity on this file and (optionally) go to sleep until there | 901 | activity on this file and (optionally) go to sleep until there |
904 | is activity. Called by the select(2) and poll(2) system calls | 902 | is activity. Called by the select(2) and poll(2) system calls |
905 | 903 | ||
906 | get_poll_head: Returns the struct wait_queue_head that callers can | ||
907 | wait on. Callers need to check the returned events using ->poll_mask | ||
908 | once woken. Can return NULL to indicate polling is not supported, | ||
909 | or any error code using the ERR_PTR convention to indicate that a | ||
910 | grave error occured and ->poll_mask shall not be called. | ||
911 | |||
912 | poll_mask: return the mask of EPOLL* values describing the file descriptor | ||
913 | state. Called either before going to sleep on the waitqueue returned by | ||
914 | get_poll_head, or after it has been woken. If ->get_poll_head and | ||
915 | ->poll_mask are implemented ->poll does not need to be implement. | ||
916 | |||
917 | unlocked_ioctl: called by the ioctl(2) system call. | 904 | unlocked_ioctl: called by the ioctl(2) system call. |
918 | 905 | ||
919 | compat_ioctl: called by the ioctl(2) system call when 32 bit system calls | 906 | compat_ioctl: called by the ioctl(2) system call when 32 bit system calls |