Hello,

I have created BDFS filesystem server which allows accessing block device
as a file.
FUSE drivers needs that.
BDFS only accesses one block per VFS_OUT read or write operation
and returns reduced size according to that.

You can check it out in my FUSE branch [1]:
qemu-system-x86_64 -boot d -cdrom image.iso -hda exfat.img
bdfs
mkdir /bd
mkdir /mnt
cd /loc
mount bdfs /bd devices/\hw\pci0\00:01.0\ata-c1\d0
fuse_exfat /bd/dev /mnt

Before this approach I have tried to add support of VFS OUT interface
 to block device drivers (bd_srv.c) directly.
But there are problems with conflicts in VFS_OUT and block devices
interfaces
(one connection fibril per service for block device interface / one
connection per).
These conflicts, another problems with DDF's connection function and
requirement for block locking when writing to only part of a block lead me
to abandon this approach.
In my branch [1] I still have working version for file_bd.

I think for the future development it is better to have BDFS as separate
filesystem server.

Zdenek

[1] https://code.launchpad.net/~zdenek-bouska/helenos/fuse
_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to