On Fri, 23 Jun 2006 12:00:18 +0200
Christoph Hellwig <hch@xxxxxx> wrote:
On Thu, Jun 22, 2006 at 09:55:51AM -0700, Andrew Morton wrote:Faking up the file struct is the only viable short-term option. It- long (*unlocked_ioctl) (struct file *, unsigned, unsigned long);Perhaps it should (have). It's a bit nasty, but we do have at least two
+ long (*unlocked_ioctl) (struct inode *, struct file *, unsigned, unsigned long);
so it can be used for block devices?
internal callers who don't have a file*.
The alternative would be to cook up a fake file* like blkdev_get() does,
but we don't want to propagate that practice.
should be done in ioctl_by_bdev which every kernel blockdevice ioctl
user should use. Long-term we should not pass a struct file but
a struct block_device *, but braindamage in floppy.c prevents that.
Ho hum. The short-term will continue to be long-term.
Milan, I've lost the plot on where we stand on these patches. I think some
rework is needed, yes?