From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4563CC4320A for ; Fri, 20 Aug 2021 13:36:15 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B2CA161057 for ; Fri, 20 Aug 2021 13:36:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org B2CA161057 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.ozlabs.org Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4GrjMd2dWvz3cLY for ; Fri, 20 Aug 2021 23:36:13 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=BMQ7tDFx; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::d29; helo=mail-io1-xd29.google.com; envelope-from=igoreisberg@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=BMQ7tDFx; dkim-atps=neutral Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4GrjMY1SB5z3bnK for ; Fri, 20 Aug 2021 23:36:08 +1000 (AEST) Received: by mail-io1-xd29.google.com with SMTP id z1so12318077ioh.7 for ; Fri, 20 Aug 2021 06:36:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=kyVgNd7FEiB61dYOhTecM+BHhDqxUIStPYxYh+cm3q0=; b=BMQ7tDFxiIPcQEXqKUXOtY/9ycotI6YBc3jq7Oy1hPFICOVTtcs4MVi/YlgOTJHlw0 bCejSCZOmOIX7xF2SfQjq1ZG6p0dpS1X/PtQNiUHGXZ2zro/uS2gHeTa8rfBUBwCYB3p 1uYY2pTugwJ7i5ECfUQv8RsqYEMeMgE5AYMlbm58GddHKtnyXeV+reGytbqrRG725c2c N8WzMNOxFDMX7sVcK+8AzgvHh9CIRQ71U/DSYj8QwWOGiT8KK9GJNT6mgFZiONmy/VNd 2Wi6JcjAMOHy2+gek4+sL/V0s6ACaJXVRVUNMQ0r22wjN5BGbB0haKvlH3zifi6Eznh8 uwHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=kyVgNd7FEiB61dYOhTecM+BHhDqxUIStPYxYh+cm3q0=; b=rm38qzl12sh+blxupXmN2Nni10+z6HPUOFbIyejWeL1r22m5ZEIMP7j2EBEOrpB5cV GAfTyioykFROFmswGuDTtOavolLjKSGJ2xRsA39im5Je4DeicLIXlF39daT6TRAbiVt4 D64lWuX4bXiKQy7h78xkg4CgHWwgRe6/MuQPKcdbgFxWDuBv5FD9K33N9LWt0H2X37D4 7HvI4SFdcCScHfhKMP0AK2sHU6Pq4oFUZvgepd68Ajx2vxYYhph/1UYONfYbmArQOWZI k07kUTdlBJT8ACKz7GPD/u0kzF+aCiXTINOpwqsYqnPU/JiIRm963s5SBEHXmDL9EM94 Mw8A== X-Gm-Message-State: AOAM5336UjPPYL9lPnRcIy0D5g2hgwzU+QbfVr77WcljRdgEgphE59rZ 64095uqGeGADlzx3xRNBUgMOj50Z8DAVYrAVZmI= X-Google-Smtp-Source: ABdhPJw5hCZ5DKnuYodkOeNYOOyP24bfY0fnmOizpuSBi4Uv4jw+E09NyzJ/02YenlkfJK2DW9BSdBA4nyODJrQApJM= X-Received: by 2002:a6b:3b8c:: with SMTP id i134mr8971353ioa.29.1629466563341; Fri, 20 Aug 2021 06:36:03 -0700 (PDT) MIME-Version: 1.0 References: <20210820124831.GA25021@hsiangkao-HP-ZHAN-66-Pro-G1> <20210820132656.GA25885@hsiangkao-HP-ZHAN-66-Pro-G1> In-Reply-To: <20210820132656.GA25885@hsiangkao-HP-ZHAN-66-Pro-G1> From: Igor Eisberg Date: Fri, 20 Aug 2021 16:35:52 +0300 Message-ID: Subject: Re: An issue with erofsfuse To: Igor Eisberg , linux-erofs@lists.ozlabs.org Content-Type: multipart/alternative; boundary="000000000000ae714a05c9fdbf93" X-BeenThere: linux-erofs@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development of Linux EROFS file system List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-erofs-bounces+linux-erofs=archiver.kernel.org@lists.ozlabs.org Sender: "Linux-erofs" --000000000000ae714a05c9fdbf93 Content-Type: text/plain; charset="UTF-8" You're right, this is definitely what's missing: > linux-vdso.so.1 (0x00007ffeb2163000) > libfuse.so.2 => /lib/x86_64-linux-gnu/libfuse.so.2 > (0x00007ffb2d6b7000) > libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 > (0x00007ffb2d694000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffb2d4a3000) > libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffb2d49d000) > /lib64/ld-linux-x86-64.so.2 (0x00007ffb2d728000) > And actually when running configure, I notice this: > checking lz4.h usability... no > checking lz4.h presence... no > checking for lz4.h... no > Not sure what I'm missing here though... $ apt list --installed | grep lz4 > liblz4-1/now 1.9.3-2 amd64 [installed,local] > lz4/now 1.9.3-2 amd64 [installed,local] > On Fri, 20 Aug 2021 at 16:27, Gao Xiang wrote: > 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 > > 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 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. > > > > --000000000000ae714a05c9fdbf93 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
You're right, this is definitely what's missi= ng:
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 linux-vdso.so.1 (0x00007= ffeb2163000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0libfuse.so.2 =3D> = /lib/x86_64-linux-gnu/libfuse.so.2 (0x00007ffb2d6b7000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0libpthread.so.0 =3D> /lib= /x86_64-linux-gnu/libpthread.so.0 (0x00007ffb2d694000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0libc.so.6 =3D> /lib/x86_6= 4-linux-gnu/libc.so.6 (0x00007ffb2d4a3000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0libdl.so.2 =3D> /lib/x86_= 64-linux-gnu/libdl.so.2 (0x00007ffb2d49d000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/lib64/ld-linux-x86-64.so.2 = (0x00007ffb2d728000)

And a= ctually when running configure, I notice this:
checking lz4.= h usability... no
checking lz4.h presence... no
checking for lz4.h... no

Not sure what I'm missing here though...

$ apt list --installed | grep lz4
liblz4-1/now 1.9.3-2 amd64 [installed,local]
lz4/now 1.9.3-2 amd64 [installed,local]

On Fri, 20 Aug 2021 at 16:27, Gao Xiang <xiang@kernel.org> wrote:
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 erofsfu= se 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:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 linux-vdso.so.1 (0x00007ffee176e000)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libfuse.so.2 =3D&gt; /lib/x86_64-linux-gnu/= libfuse.so.2 (0x00007f8e21f24000)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 liblz4.so.1 =3D&gt; /lib/x86_64-linux-gnu/l= iblz4.so.1 (0x00007f8e21f01000)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libpthread.so.0 =3D&gt; /lib/x86_64-linux-g= nu/libpthread.so.0 (0x00007f8e21ee0000)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libc.so.6 =3D&gt; /lib/x86_64-linux-gnu/lib= c.so.6 (0x00007f8e21d1f000)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libdl.so.2 =3D&gt; /lib/x86_64-linux-gnu/li= bdl.so.2 (0x00007f8e21d1a000)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 /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=3D0x003ffffb
> >
> > max_readahead=3D0x00020000
> >
> > EROFS: erofsfuse_init() Line[23] Using FUSE protocol 7.27
> >
> >=C2=A0 =C2=A0 INIT: 7.19
> >
> >=C2=A0 =C2=A0 flags=3D0x00000011
> >
> >=C2=A0 =C2=A0 max_readahead=3D0x00020000
> >
> >=C2=A0 =C2=A0 max_write=3D0x00020000
> >
> >=C2=A0 =C2=A0 max_background=3D0
> >
> >=C2=A0 =C2=A0 congestion_threshold=3D0
> >
> >=C2=A0 =C2=A0 unique: 1, success, outsize: 40
> >
> >
> On Fri, 20 Aug 2021 at 15:49, Gao Xiang <xiang@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 sud= o permissions
> > > on this server.
> > >
> > > Our only choice is to use erofsfuse to mount an Android imag= e
> > (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 (whe= re 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 gu= ess
> > 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 un= compressed 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.
> >
--000000000000ae714a05c9fdbf93--