Re: [PATCH 5/7] FUSE: implement ioctl support

From: Miklos Szeredi
Date: Thu Aug 28 2008 - 14:14:20 EST


On Thu, 28 Aug 2008, Tejun Heo wrote:
> Tejun Heo wrote:
> > Greg KH wrote:
> >> Why do we need ioctls? For CUSE? In that case, would we need to copy
> >> the memory from userspace, into the kernel, and then back out into
> >> userspace again? Can't we just have a "pass-through" type fixed ioctl
> >> instead?
> >
> > Can you elaborate a bit? How the fixed ioctl would know how much to
> > copy in and out and from where?
>
> If you're worried about the double copying due to performance reasons,
> what we can do is implementing userspace to userspace copying. I just
> took easier path of copying twice as u-u copy can't be done using the
> existing FUSE mechanics.

How about not copying anything in the kernel, just passing the virtual
address to the filesystem? It can get/modify the data of the calling
task by mapping /proc/pid/mem. Ugly, yes, but ioctls are inherently
ugly.

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