aboutsummaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-04-14 10:54:54 +0900
committerMiklos Szeredi <mszeredi@suse.cz>2009-06-09 11:24:11 +0200
commit151060ac13144208bd7601d17e4c92c59b98072f (patch)
treec93ba28042bcb7917c9098b449756cbe84fb0a51 /usr
parent08cbf542bf24fb0481a54526b177347ae4046f5e (diff)
CUSE: implement CUSE - Character device in Userspace
CUSE enables implementing character devices in userspace. With recent additions of ioctl and poll support, FUSE already has most of what's necessary to implement character devices. All CUSE has to do is bonding all those components - FUSE, chardev and the driver model - nicely. When client opens /dev/cuse, kernel starts conversation with CUSE_INIT. The client tells CUSE which device it wants to create. As the previous patch made fuse_file usable without associated fuse_inode, CUSE doesn't create super block or inodes. It attaches fuse_file to cdev file->private_data during open and set ff->fi to NULL. The rest of the operation is almost identical to FUSE direct IO case. Each CUSE device has a corresponding directory /sys/class/cuse/DEVNAME (which is symlink to /sys/devices/virtual/class/DEVNAME if SYSFS_DEPRECATED is turned off) which hosts "waiting" and "abort" among other things. Those two files have the same meaning as the FUSE control files. The only notable lacking feature compared to in-kernel implementation is mmap support. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'usr')
0 files changed, 0 insertions, 0 deletions