From: Miklos S. <mi...@sz...> - 2014-02-28 15:37:00
|
On Sun, Feb 23, 2014 at 12:29 PM, Vitaliy Filippov <vi...@yo...> wrote: > Hi! > > I've written some simple patches for FIEMAP support in fuse and ntfs-3g, via > a separate FUSE opcode (not a generic ioctl). I wanted this feature to be > able to play with in-place filesystem conversion, but discovered it wasn't > there - even current fuse versions don't support it... > > The patches are attached, can you review them? There are patches for all > parts: fuse kernel driver (for 3.12.x branch), fuse library and ntfs-3g > implementation (including fuse-lite). All fiemap API constants are 'copied' > into fuse. I've done some testing and it seems to work for both lowntfs-3g > and ntfs-3g, both normal fuse and fuse-lite; 32-bit compat ioctl is also > passed-through correctly. > > What do you think about this feature? :) and what's the process of getting > it merged in general? This is especially interesting because this requires > changes to different subsystems. The implementation looks OK. The issue I have with the interface is: why reinvent a new API on each of the interfaces? Yes, we do that for most requests, but here's a request that is already in a flat structure format, exactly what the kernel API needs. So I suggest that we mirror the fiemap structures there. On the library API you can also just pass a "struct fiemap *" pointer to the fiemap method and be done with that. Thanks, Miklos |