diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-07-03 18:15:10 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2010-08-13 18:24:24 -0400 |
commit | b19dd42faf413b4705d4adb38521e82d73fa4249 (patch) | |
tree | fbfdea065c3772b2de2c37238af6afcad2e42934 /Documentation/filesystems | |
parent | c6d7ba8b12636923f3e30997dec69bed58e176b6 (diff) |
bkl: Remove locked .ioctl file operation
The last user is gone, so we can safely remove this
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: John Kacur <jkacur@redhat.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/Locking | 8 | ||||
-rw-r--r-- | Documentation/filesystems/vfs.txt | 6 |
2 files changed, 2 insertions, 12 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index bbcc15651a21..2db4283efa8d 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -374,8 +374,6 @@ prototypes: | |||
374 | ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); | 374 | ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); |
375 | int (*readdir) (struct file *, void *, filldir_t); | 375 | int (*readdir) (struct file *, void *, filldir_t); |
376 | unsigned int (*poll) (struct file *, struct poll_table_struct *); | 376 | unsigned int (*poll) (struct file *, struct poll_table_struct *); |
377 | int (*ioctl) (struct inode *, struct file *, unsigned int, | ||
378 | unsigned long); | ||
379 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); | 377 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); |
380 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); | 378 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); |
381 | int (*mmap) (struct file *, struct vm_area_struct *); | 379 | int (*mmap) (struct file *, struct vm_area_struct *); |
@@ -409,8 +407,7 @@ write: no | |||
409 | aio_write: no | 407 | aio_write: no |
410 | readdir: no | 408 | readdir: no |
411 | poll: no | 409 | poll: no |
412 | ioctl: yes (see below) | 410 | unlocked_ioctl: no |
413 | unlocked_ioctl: no (see below) | ||
414 | compat_ioctl: no | 411 | compat_ioctl: no |
415 | mmap: no | 412 | mmap: no |
416 | open: no | 413 | open: no |
@@ -453,9 +450,6 @@ move ->readdir() to inode_operations and use a separate method for directory | |||
453 | anything that resembles union-mount we won't have a struct file for all | 450 | anything that resembles union-mount we won't have a struct file for all |
454 | components. And there are other reasons why the current interface is a mess... | 451 | components. And there are other reasons why the current interface is a mess... |
455 | 452 | ||
456 | ->ioctl() on regular files is superceded by the ->unlocked_ioctl() that | ||
457 | doesn't take the BKL. | ||
458 | |||
459 | ->read on directories probably must go away - we should just enforce -EISDIR | 453 | ->read on directories probably must go away - we should just enforce -EISDIR |
460 | in sys_read() and friends. | 454 | in sys_read() and friends. |
461 | 455 | ||
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 94677e7dcb13..ed7e5efc06d8 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt | |||
@@ -727,7 +727,6 @@ struct file_operations { | |||
727 | ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); | 727 | ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); |
728 | int (*readdir) (struct file *, void *, filldir_t); | 728 | int (*readdir) (struct file *, void *, filldir_t); |
729 | unsigned int (*poll) (struct file *, struct poll_table_struct *); | 729 | unsigned int (*poll) (struct file *, struct poll_table_struct *); |
730 | int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); | ||
731 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); | 730 | long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); |
732 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); | 731 | long (*compat_ioctl) (struct file *, unsigned int, unsigned long); |
733 | int (*mmap) (struct file *, struct vm_area_struct *); | 732 | int (*mmap) (struct file *, struct vm_area_struct *); |
@@ -768,10 +767,7 @@ otherwise noted. | |||
768 | activity on this file and (optionally) go to sleep until there | 767 | activity on this file and (optionally) go to sleep until there |
769 | is activity. Called by the select(2) and poll(2) system calls | 768 | is activity. Called by the select(2) and poll(2) system calls |
770 | 769 | ||
771 | ioctl: called by the ioctl(2) system call | 770 | unlocked_ioctl: called by the ioctl(2) system call. |
772 | |||
773 | unlocked_ioctl: called by the ioctl(2) system call. Filesystems that do not | ||
774 | require the BKL should use this method instead of the ioctl() above. | ||
775 | 771 | ||
776 | compat_ioctl: called by the ioctl(2) system call when 32 bit system calls | 772 | compat_ioctl: called by the ioctl(2) system call when 32 bit system calls |
777 | are used on 64 bit kernels. | 773 | are used on 64 bit kernels. |