]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
logfs: kill BKL
authorArnd Bergmann <arnd@arndb.de>
Tue, 27 Apr 2010 20:30:06 +0000 (22:30 +0200)
committerJoern Engel <joern@logfs.org>
Wed, 19 May 2010 13:41:40 +0000 (15:41 +0200)
logfs does not need the BKL, so use ->unlocked_ioctl instead
of ->ioctl in file operations.

Signed-off-by: Joern Engel <joern@logfs.org>
fs/logfs/dir.c
fs/logfs/file.c
fs/logfs/logfs.h

index 2396a85c0f55ab9de07faf6687ae6d4433a9c348..bc21c1bfe76023dc5c1d6f9afdd504bf8518fb1b 100644 (file)
@@ -821,7 +821,7 @@ const struct inode_operations logfs_dir_iops = {
 };
 const struct file_operations logfs_dir_fops = {
        .fsync          = logfs_fsync,
-       .ioctl          = logfs_ioctl,
+       .unlocked_ioctl = logfs_ioctl,
        .readdir        = logfs_readdir,
        .read           = generic_read_dir,
 };
index 0de52407187042f9fd0a1a1d59049a0ce93c1b55..f76eae5d705f12ebdb2ae3b4982b8bea94d4c567 100644 (file)
@@ -181,9 +181,9 @@ static int logfs_releasepage(struct page *page, gfp_t only_xfs_uses_this)
 }
 
 
-int logfs_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
-               unsigned long arg)
+long logfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 {
+       struct inode *inode = file->f_path.dentry->d_inode;
        struct logfs_inode *li = logfs_inode(inode);
        unsigned int oldflags, flags;
        int err;
@@ -251,7 +251,7 @@ const struct file_operations logfs_reg_fops = {
        .aio_read       = generic_file_aio_read,
        .aio_write      = generic_file_aio_write,
        .fsync          = logfs_fsync,
-       .ioctl          = logfs_ioctl,
+       .unlocked_ioctl = logfs_ioctl,
        .llseek         = generic_file_llseek,
        .mmap           = generic_file_readonly_mmap,
        .open           = generic_file_open,
index 93b55f3372451b00fd03bad81424808ede0b1825..5e67d14cd83edd87b8031a07a3469abb4102ee5c 100644 (file)
@@ -504,8 +504,8 @@ extern const struct inode_operations logfs_reg_iops;
 extern const struct file_operations logfs_reg_fops;
 extern const struct address_space_operations logfs_reg_aops;
 int logfs_readpage(struct file *file, struct page *page);
-int logfs_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
-               unsigned long arg);
+long logfs_ioctl(struct file *file, unsigned int cmd,
+                unsigned long arg);
 int logfs_fsync(struct file *file, struct dentry *dentry, int datasync);
 
 /* gc.c */