Prev: rwsem: let RWSEM_WAITING_BIAS represent any number of waiting threads
Next: schedule: simplify the reacquire_kernel_lock() logic
From: Frederic Weisbecker on 19 May 2010 09:00 On Tue, Apr 27, 2010 at 10:30:06PM +0200, Arnd Bergmann wrote: > logfs does not need the BKL, so use ->unlocked_ioctl instead > of ->ioctl in file operations. > --- > On Tuesday 27 April 2010 22:12:52 Frederic Weisbecker wrote: > > > > I've applied this series in bkl/ioctl, it passed allyesconfig in sparc. > > I will apply the others from you and John tomorrow or so (and will enjoy > > my part as well). J�rn, please queue this patch if you want to, as you prefer, > > we can host it as well if necessary. > > I believe that this is the one that J�rn would prefer to go in. I hope I > got it right by editing the patch. J�rn, any news about this patch? If you're fine with it, could you queue it for .35 ? Thanks. > > diff --git a/fs/logfs/dir.c b/fs/logfs/dir.c > index 2396a85..a801b5e 100644 > --- a/fs/logfs/dir.c > +++ b/fs/logfs/dir.c > @@ -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, > }; > diff --git a/fs/logfs/file.c b/fs/logfs/file.c > index 370f367..1dbc342 100644 > --- a/fs/logfs/file.c > +++ b/fs/logfs/file.c > @@ -171,9 +172,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; > @@ -243,7 +255,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, > diff --git a/fs/logfs/logfs.h b/fs/logfs/logfs.h > index 0a3df1a..8432c51 100644 > --- a/fs/logfs/logfs.h > +++ b/fs/logfs/logfs.h > @@ -501,8 +501,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 */ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |