Re: [RFC] [PATCH 6/8] inode-diet: Move i_cindex from struct inodeto struct file

From: Stefan Richter
Date: Mon Jun 19 2006 - 17:50:58 EST


Theodore Tso wrote:
On Mon, Jun 19, 2006 at 08:37:56PM +0100, Al Viro wrote:
NAK. Please, take it to the union into cdev part.

Explanation: the whole point of that sucker is to avoid i_rdev use
in drivers, switching to i_cdev + i_cindex. _Especially_ in open().
There is a bunch of other drivers that would get cleaner from that,
including a lot of tty code.

The problem is that we already have more stuff in the cdev union
(list_head's are *big*, especially on Opterons), so moving it there
doesn't actually save us anything.

Moving it into struct file however should be good enough clean up the
character devices drivers that you are concerned about, however. They
are passed the struct file pointer in the file_operations->open call.
So we can clean up the tty code, et. al, by using file->f_cindex just
as easily.

Furthermore, the inode->i_cindex isn't guaranteed to be valid until
the high-level vfs open code is called anyway, so you might as well
tell people to reference it from filp->f_cindex in the device driver's
open() routine.

Does that make sense?

The patch is obviously proper for usage by any file_operations->open() users like the single current one (or two actually, dv1394_open() and video1394_open()). I don't know if there are any contrary usages planned in other subsystems.
--
Stefan Richter
-=====-=-==- -==- =--==
http://arcgraph.de/sr/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/