Hi.
With the libraries present in e2fsprogs, it is possible to open a plain file
(or any other reasonable storage) as an EXT2 filesystem and manipulate files
inside it.
Is it possible to use the implementations in the kernel to do the same thing
with any supported normal filesystem?
Obviously, it is theoretically possible, but my question is whether it has
been done in practice. I suppose it would require writing userland
replacement for the kernel APIs (memory management, access to block devices,
scheduling) and either rebuilding the kernel source as userland code or
loading the modules directly.
Regards,
--
Nicolas George
Nicolas George wrote:
> With the libraries present in e2fsprogs, it is possible to open a plain file
> (or any other reasonable storage) as an EXT2 filesystem and manipulate files
> inside it.
>
> Is it possible to use the implementations in the kernel to do the same thing
> with any supported normal filesystem?
mount -o loop /plain/file /where/to/mount
Hi, George:
is there any reason to do this? we still need to copy files from
userspace to kernel.
Thanks,
Xun
2014-11-24 21:12 GMT+08:00 Nicolas George <[email protected]>:
> Hi.
>
> With the libraries present in e2fsprogs, it is possible to open a plain file
> (or any other reasonable storage) as an EXT2 filesystem and manipulate files
> inside it.
>
> Is it possible to use the implementations in the kernel to do the same thing
> with any supported normal filesystem?
>
> Obviously, it is theoretically possible, but my question is whether it has
> been done in practice. I suppose it would require writing userland
> replacement for the kernel APIs (memory management, access to block devices,
> scheduling) and either rebuilding the kernel source as userland code or
> loading the modules directly.
>
> Regards,
>
> --
> Nicolas George
On Mon, Nov 24, 2014 at 2:12 PM, Nicolas George <[email protected]> wrote:
> Hi.
>
> With the libraries present in e2fsprogs, it is possible to open a plain file
> (or any other reasonable storage) as an EXT2 filesystem and manipulate files
> inside it.
>
> Is it possible to use the implementations in the kernel to do the same thing
> with any supported normal filesystem?
>
> Obviously, it is theoretically possible, but my question is whether it has
> been done in practice. I suppose it would require writing userland
> replacement for the kernel APIs (memory management, access to block devices,
> scheduling) and either rebuilding the kernel source as userland code or
> loading the modules directly.
Regarding the interfaces, we have FUSE.
But there is no tool which can automagically convert kernel filesystem code
into FUSE userland code. It has to be done by hand.
For some filesystems we have already FUSE implementations.
--
Thanks,
//richard