Re: [RFC] [PATCH 1/8] inode_diet: Replace inode.u.generic_ip with inode.i_private

Theodore Tso
2006-06-19T19:37:07Z

On Mon, Jun 19, 2006 at 08:09:22PM +0100, Christoph Hellwig wrote:
> > Index: linux-2.6.17/arch/s390/kernel/debug.c
> > ===================================================================
> > --- linux-2.6.17.orig/arch/s390/kernel/debug.c 2006-06-18 18:58:51.000000000 -0400
> > +++ linux-2.6.17/arch/s390/kernel/debug.c 2006-06-18 18:58:55.000000000 -0400
> > @@ -604,7 +604,7 @@
> > debug_info_t *debug_info, *debug_info_snapshot;
> >
> > down(&debug_lock);
> > - debug_info = (struct debug_info*)file->f_dentry->d_inode->u.generic_ip;
> > + debug_info = (struct debug_info*)file->f_dentry->d_inode->i_private;
>
> is this actually okay? who owns the private data in debugfs inodes?

debugfs allows the caller of debugfs_create_file() to pass in private
data. So this in fact the intended way it's supposed to work AFAIK.
The s/390 debug facility passed in a struct debug_info * in
debug_register_view()'s call to debugfs_create_file, and it pulls it
out again in debug_open() (in the above referenced patch).

- Ted