Re: [PATCH 01/15] dm: support ioctls on mapped devices

From: Milan Broz
Date: Fri Jun 23 2006 - 09:12:12 EST



Andrew Morton wrote:
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:
- long (*unlocked_ioctl) (struct file *, unsigned, unsigned long);
+ long (*unlocked_ioctl) (struct inode *, struct file *, unsigned, unsigned long);

so it can be used for block devices?
Perhaps it should (have). It's a bit nasty, but we do have at least two
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.
Faking up the file struct is the only viable short-term option. It
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?

yes, we need at least create fake file.

Milan
-
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/