An issue with erofsfuse

Gao Xiang xiang at kernel.org
Fri Aug 20 23:26:58 AEST 2021


On Fri, Aug 20, 2021 at 04:16:20PM +0300, Igor Eisberg wrote:
> You're quicker than expected, thanks for answering.
> Not sure how to check if lz4 was builtin, but considering that erofsfuse is
> only about 34.5KB (stripped) I would guess not?
> Here's the output of erofsfuse -d (it prints this but never exists back to
> shell unless I do Ctrl+C):

Yeah, it will run erofsfuse in foreground, and you need to access the
erofs compressed files, and then check the printed result.

But I think there is a easier way to check if lz4 was linked, just type
ldd <your erofsfuse program>

if lz4 was linked, it will print some message like below:
	linux-vdso.so.1 (0x00007ffee176e000)
	libfuse.so.2 => /lib/x86_64-linux-gnu/libfuse.so.2 (0x00007f8e21f24000)
	liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f8e21f01000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8e21ee0000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8e21d1f000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8e21d1a000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8e21f91000)

Thanks,
Gao Xiang

> 
> erofsfuse 1.3
> >
> > disk: product.img
> >
> > mountpoint: product-mnt
> >
> > dbglevel: 7
> >
> > FUSE library version: 2.9.9
> >
> > nullpath_ok: 0
> >
> > nopath: 0
> >
> > utime_omit_ok: 0
> >
> > unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
> >
> > INIT: 7.27
> >
> > flags=0x003ffffb
> >
> > max_readahead=0x00020000
> >
> > EROFS: erofsfuse_init() Line[23] Using FUSE protocol 7.27
> >
> >    INIT: 7.19
> >
> >    flags=0x00000011
> >
> >    max_readahead=0x00020000
> >
> >    max_write=0x00020000
> >
> >    max_background=0
> >
> >    congestion_threshold=0
> >
> >    unique: 1, success, outsize: 40
> >
> >
> On Fri, 20 Aug 2021 at 15:49, Gao Xiang <xiang at kernel.org> wrote:
> 
> > Hi Igor,
> >
> > On Fri, Aug 20, 2021 at 03:34:05PM +0300, Igor Eisberg wrote:
> > > Hey there, getting straight to the point.
> > > Our team is using Debian 10, in which erofs mounting is not supported and
> > > we have no option of updating the kernel, nor do we have sudo permissions
> > > on this server.
> > >
> > > Our only choice is to use erofsfuse to mount an Android image
> > (compression
> > > was used on that image), for the sole purpose of extracting its contents
> > to
> > > another folder for processing.
> > > Tried on Debian 10, pop_OS! and even the latest Kubuntu (where native
> > > mounting is supported), but on all of them I could not copy files which
> > are
> > > compressed from the mounted image to another location (ext4 file system).
> > >
> > > The error I'm getting is: "Operation not supported (95)"
> > >
> >
> > Thanks for your feedback.
> >
> > Could you check if lz4 was built-in when building erofsfuse? I guess
> > that is the reason (lack of lz4 support builtin).
> >
> > If not, could you add -d to erofsfuse when starting up?
> >
> > Thanks,
> > Gao Xiang
> >
> > > Notes:
> > > * Only extremely small (< 1 KB) files which are stored uncompressed are
> > > copied successfully.
> > > * Copying works perfectly when mounting the image with "sudo mount" on
> > the
> > > latest Kubuntu, so it has to be something with erofsfuse.
> > >
> > > Anything you can do to help resolve this?
> > >
> > > Best,
> > > Igor.
> >


More information about the Linux-erofs mailing list