diff options
author | Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | 2009-04-06 22:01:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-07 11:31:19 -0400 |
commit | 7a9461939a46345860622ea36ff267ee4446f00f (patch) | |
tree | 5607ba81b9580e2979bcfb806d5b04f5fbfd53d9 /fs/nilfs2 | |
parent | 8082d36aed26c4fb6ed43e4008303682eabf839e (diff) |
nilfs2: use unlocked_ioctl
Pekka Enberg suggested converting ->ioctl operations to use
->unlocked_ioctl to avoid BKL.
The conversion was verified to be safe, so I will take it on this
occasion.
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/nilfs2')
-rw-r--r-- | fs/nilfs2/dir.c | 2 | ||||
-rw-r--r-- | fs/nilfs2/file.c | 2 | ||||
-rw-r--r-- | fs/nilfs2/ioctl.c | 4 | ||||
-rw-r--r-- | fs/nilfs2/nilfs.h | 2 |
4 files changed, 5 insertions, 5 deletions
diff --git a/fs/nilfs2/dir.c b/fs/nilfs2/dir.c index 393316cd3cad..54100acc1102 100644 --- a/fs/nilfs2/dir.c +++ b/fs/nilfs2/dir.c | |||
@@ -702,7 +702,7 @@ struct file_operations nilfs_dir_operations = { | |||
702 | .llseek = generic_file_llseek, | 702 | .llseek = generic_file_llseek, |
703 | .read = generic_read_dir, | 703 | .read = generic_read_dir, |
704 | .readdir = nilfs_readdir, | 704 | .readdir = nilfs_readdir, |
705 | .ioctl = nilfs_ioctl, | 705 | .unlocked_ioctl = nilfs_ioctl, |
706 | #ifdef CONFIG_COMPAT | 706 | #ifdef CONFIG_COMPAT |
707 | .compat_ioctl = nilfs_ioctl, | 707 | .compat_ioctl = nilfs_ioctl, |
708 | #endif /* CONFIG_COMPAT */ | 708 | #endif /* CONFIG_COMPAT */ |
diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c index a2bd962ebd85..6bd84a0d8238 100644 --- a/fs/nilfs2/file.c +++ b/fs/nilfs2/file.c | |||
@@ -140,7 +140,7 @@ struct file_operations nilfs_file_operations = { | |||
140 | .write = do_sync_write, | 140 | .write = do_sync_write, |
141 | .aio_read = generic_file_aio_read, | 141 | .aio_read = generic_file_aio_read, |
142 | .aio_write = generic_file_aio_write, | 142 | .aio_write = generic_file_aio_write, |
143 | .ioctl = nilfs_ioctl, | 143 | .unlocked_ioctl = nilfs_ioctl, |
144 | #ifdef CONFIG_COMPAT | 144 | #ifdef CONFIG_COMPAT |
145 | .compat_ioctl = nilfs_ioctl, | 145 | .compat_ioctl = nilfs_ioctl, |
146 | #endif /* CONFIG_COMPAT */ | 146 | #endif /* CONFIG_COMPAT */ |
diff --git a/fs/nilfs2/ioctl.c b/fs/nilfs2/ioctl.c index 33aff8842ce9..cfb27892ffe8 100644 --- a/fs/nilfs2/ioctl.c +++ b/fs/nilfs2/ioctl.c | |||
@@ -600,9 +600,9 @@ static int nilfs_ioctl_sync(struct inode *inode, struct file *filp, | |||
600 | return 0; | 600 | return 0; |
601 | } | 601 | } |
602 | 602 | ||
603 | int nilfs_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, | 603 | long nilfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) |
604 | unsigned long arg) | ||
605 | { | 604 | { |
605 | struct inode *inode = filp->f_dentry->d_inode; | ||
606 | void __user *argp = (void * __user *)arg; | 606 | void __user *argp = (void * __user *)arg; |
607 | 607 | ||
608 | switch (cmd) { | 608 | switch (cmd) { |
diff --git a/fs/nilfs2/nilfs.h b/fs/nilfs2/nilfs.h index f767644a7242..d08fb1ce5012 100644 --- a/fs/nilfs2/nilfs.h +++ b/fs/nilfs2/nilfs.h | |||
@@ -242,7 +242,7 @@ extern void nilfs_set_link(struct inode *, struct nilfs_dir_entry *, | |||
242 | extern int nilfs_sync_file(struct file *, struct dentry *, int); | 242 | extern int nilfs_sync_file(struct file *, struct dentry *, int); |
243 | 243 | ||
244 | /* ioctl.c */ | 244 | /* ioctl.c */ |
245 | int nilfs_ioctl(struct inode *, struct file *, unsigned int, unsigned long); | 245 | long nilfs_ioctl(struct file *, unsigned int, unsigned long); |
246 | int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *, void __user *); | 246 | int nilfs_ioctl_prepare_clean_segments(struct the_nilfs *, void __user *); |
247 | 247 | ||
248 | /* inode.c */ | 248 | /* inode.c */ |