Re: [PATCH 03/39] proc: introduce proc_create_seq_private
On Thu, Apr 19, 2018 at 09:50:27PM +0300, Alexey Dobriyan wrote: > On Thu, Apr 19, 2018 at 02:41:04PM +0200, Christoph Hellwig wrote: > > Variant of proc_create_data that directly take a struct seq_operations > > > --- a/fs/proc/internal.h > > +++ b/fs/proc/internal.h > > @@ -45,6 +45,7 @@ struct proc_dir_entry { > > const struct inode_operations *proc_iops; > > const struct file_operations *proc_fops; > > const struct seq_operations *seq_ops; > > + size_t state_size; > > "unsigned int" please. > > Where have you seen 4GB priv states? We're passing the result of sizeof, which happens to be a size_t. But if it makes you happy I can switch to unsigned int.
Re: [PATCH 03/39] proc: introduce proc_create_seq_private
On Thu, Apr 19, 2018 at 05:18:18PM +0300, Dan Carpenter wrote: > > -static const struct file_operations cio_ignore_proc_fops = { > > - .open= cio_ignore_proc_open, > > - .read= seq_read, > > - .llseek = seq_lseek, > > - .release = seq_release_private, > > - .write = cio_ignore_write, > > The cio_ignore_write() function isn't used any more so compilers will > complain. No compiler in the buildboot farm complained, but neverless this
Re: [PATCH 03/39] proc: introduce proc_create_seq_private
On Thu, Apr 19, 2018 at 02:41:04PM +0200, Christoph Hellwig wrote: > Variant of proc_create_data that directly take a struct seq_operations > --- a/fs/proc/internal.h > +++ b/fs/proc/internal.h > @@ -45,6 +45,7 @@ struct proc_dir_entry { > const struct inode_operations *proc_iops; > const struct file_operations *proc_fops; > const struct seq_operations *seq_ops; > + size_t state_size; "unsigned int" please. Where have you seen 4GB priv states?
Re: [PATCH 03/39] proc: introduce proc_create_seq_private
On Thu, Apr 19, 2018 at 02:41:04PM +0200, Christoph Hellwig wrote: > diff --git a/drivers/s390/cio/blacklist.c b/drivers/s390/cio/blacklist.c > index 2a3f874a21d5..ad35cddcf6af 100644 > --- a/drivers/s390/cio/blacklist.c > +++ b/drivers/s390/cio/blacklist.c > @@ -391,28 +391,15 @@ static const struct seq_operations > cio_ignore_proc_seq_ops = { > .show = cio_ignore_proc_seq_show, > }; > > -static int > -cio_ignore_proc_open(struct inode *inode, struct file *file) > -{ > - return seq_open_private(file, _ignore_proc_seq_ops, > - sizeof(struct ccwdev_iter)); > -} > - > -static const struct file_operations cio_ignore_proc_fops = { > - .open= cio_ignore_proc_open, > - .read= seq_read, > - .llseek = seq_lseek, > - .release = seq_release_private, > - .write = cio_ignore_write, The cio_ignore_write() function isn't used any more so compilers will complain. > -}; > - > static int > cio_ignore_proc_init (void) > { > struct proc_dir_entry *entry; > > - entry = proc_create("cio_ignore", S_IFREG | S_IRUGO | S_IWUSR, NULL, > - _ignore_proc_fops); > + entry = proc_create_seq_private("cio_ignore", > + S_IFREG | S_IRUGO | S_IWUSR, NULL, > + _ignore_proc_seq_ops, sizeof(struct ccwdev_iter), > + NULL); > if (!entry) > return -ENOENT; > return 0; regards, dan carpenter