mbox series

[v4,0/5] fs/erofs: new filesystem

Message ID 20220226070551.9833-1-jnhuang95@gmail.com
Headers show
Series fs/erofs: new filesystem | expand

Message

Jianan Huang Feb. 26, 2022, 7:05 a.m. UTC
Changes since v3:
 - update tools/docker/Dockerfile;

Changes since v2:
 - sync up with erofs-utils 1.4;
 - update lib/lz4 to v1.8.3;
 - add test for filesystem functions;

Changes since v1:
 - fix the inconsistency between From and SoB;
 - add missing license header;

Huang Jianan (5):
  fs/erofs: add erofs filesystem support
  lib/lz4: update LZ4 decompressor module
  fs/erofs: add lz4 decompression support
  fs/erofs: add filesystem commands
  test/py: Add tests for the erofs

 MAINTAINERS                         |   9 +
 cmd/Kconfig                         |   6 +
 cmd/Makefile                        |   1 +
 cmd/erofs.c                         |  42 ++
 configs/sandbox_defconfig           |   1 +
 fs/Kconfig                          |   2 +
 fs/Makefile                         |   1 +
 fs/erofs/Kconfig                    |  21 +
 fs/erofs/Makefile                   |   9 +
 fs/erofs/data.c                     | 311 +++++++++++++
 fs/erofs/decompress.c               |  78 ++++
 fs/erofs/decompress.h               |  24 +
 fs/erofs/erofs_fs.h                 | 436 ++++++++++++++++++
 fs/erofs/fs.c                       | 267 +++++++++++
 fs/erofs/internal.h                 | 313 +++++++++++++
 fs/erofs/namei.c                    | 252 +++++++++++
 fs/erofs/super.c                    | 105 +++++
 fs/erofs/zmap.c                     | 601 ++++++++++++++++++++++++
 fs/fs.c                             |  22 +
 include/erofs.h                     |  19 +
 include/fs.h                        |   1 +
 include/u-boot/lz4.h                |  49 ++
 lib/lz4.c                           | 679 ++++++++++++++++++++--------
 lib/lz4_wrapper.c                   |  23 +-
 test/py/tests/test_fs/test_erofs.py | 211 +++++++++
 tools/docker/Dockerfile             |   1 +
 26 files changed, 3269 insertions(+), 215 deletions(-)
 create mode 100644 cmd/erofs.c
 create mode 100644 fs/erofs/Kconfig
 create mode 100644 fs/erofs/Makefile
 create mode 100644 fs/erofs/data.c
 create mode 100644 fs/erofs/decompress.c
 create mode 100644 fs/erofs/decompress.h
 create mode 100644 fs/erofs/erofs_fs.h
 create mode 100644 fs/erofs/fs.c
 create mode 100644 fs/erofs/internal.h
 create mode 100644 fs/erofs/namei.c
 create mode 100644 fs/erofs/super.c
 create mode 100644 fs/erofs/zmap.c
 create mode 100644 include/erofs.h
 create mode 100644 test/py/tests/test_fs/test_erofs.py

Comments

Jianan Huang March 3, 2022, 2:51 p.m. UTC | #1
Hi Tom,

Would you mind taking some time to check if this version meets
the requirements ?So we could have a chance to be merged
into the next version ?

I have triggered a CI via Github PR based on this version :
https://github.com/u-boot/u-boot/pull/133

Thanks,
Jianan

在 2022/2/26 15:05, Huang Jianan 写道:
> Changes since v3:
>   - update tools/docker/Dockerfile;
>
> Changes since v2:
>   - sync up with erofs-utils 1.4;
>   - update lib/lz4 to v1.8.3;
>   - add test for filesystem functions;
>
> Changes since v1:
>   - fix the inconsistency between From and SoB;
>   - add missing license header;
>
> Huang Jianan (5):
>    fs/erofs: add erofs filesystem support
>    lib/lz4: update LZ4 decompressor module
>    fs/erofs: add lz4 decompression support
>    fs/erofs: add filesystem commands
>    test/py: Add tests for the erofs
>
>   MAINTAINERS                         |   9 +
>   cmd/Kconfig                         |   6 +
>   cmd/Makefile                        |   1 +
>   cmd/erofs.c                         |  42 ++
>   configs/sandbox_defconfig           |   1 +
>   fs/Kconfig                          |   2 +
>   fs/Makefile                         |   1 +
>   fs/erofs/Kconfig                    |  21 +
>   fs/erofs/Makefile                   |   9 +
>   fs/erofs/data.c                     | 311 +++++++++++++
>   fs/erofs/decompress.c               |  78 ++++
>   fs/erofs/decompress.h               |  24 +
>   fs/erofs/erofs_fs.h                 | 436 ++++++++++++++++++
>   fs/erofs/fs.c                       | 267 +++++++++++
>   fs/erofs/internal.h                 | 313 +++++++++++++
>   fs/erofs/namei.c                    | 252 +++++++++++
>   fs/erofs/super.c                    | 105 +++++
>   fs/erofs/zmap.c                     | 601 ++++++++++++++++++++++++
>   fs/fs.c                             |  22 +
>   include/erofs.h                     |  19 +
>   include/fs.h                        |   1 +
>   include/u-boot/lz4.h                |  49 ++
>   lib/lz4.c                           | 679 ++++++++++++++++++++--------
>   lib/lz4_wrapper.c                   |  23 +-
>   test/py/tests/test_fs/test_erofs.py | 211 +++++++++
>   tools/docker/Dockerfile             |   1 +
>   26 files changed, 3269 insertions(+), 215 deletions(-)
>   create mode 100644 cmd/erofs.c
>   create mode 100644 fs/erofs/Kconfig
>   create mode 100644 fs/erofs/Makefile
>   create mode 100644 fs/erofs/data.c
>   create mode 100644 fs/erofs/decompress.c
>   create mode 100644 fs/erofs/decompress.h
>   create mode 100644 fs/erofs/erofs_fs.h
>   create mode 100644 fs/erofs/fs.c
>   create mode 100644 fs/erofs/internal.h
>   create mode 100644 fs/erofs/namei.c
>   create mode 100644 fs/erofs/super.c
>   create mode 100644 fs/erofs/zmap.c
>   create mode 100644 include/erofs.h
>   create mode 100644 test/py/tests/test_fs/test_erofs.py
>
Tom Rini March 3, 2022, 7:15 p.m. UTC | #2
On Thu, Mar 03, 2022 at 10:51:18PM +0800, Huang Jianan wrote:

> Hi Tom,
> 
> Would you mind taking some time to check if this version meets
> the requirements ?So we could have a chance to be merged
> into the next version ?
> 
> I have triggered a CI via Github PR based on this version :
> https://github.com/u-boot/u-boot/pull/133

It seems fine, yes.  The thing about that PR is that it doesn't use a
custom build of the Docker container that also has the tools, so the FS
tests aren't actually run.  I'll do that when I get to testing and
applying this, but if you can do that before hand to ensure the tests
really do run and pass, especially on Azure where things can be a tiny
bit trickier (since source directory is enforced read-only), that would
be great.

> 
> Thanks,
> Jianan
> 
> 在 2022/2/26 15:05, Huang Jianan 写道:
> > Changes since v3:
> >   - update tools/docker/Dockerfile;
> > 
> > Changes since v2:
> >   - sync up with erofs-utils 1.4;
> >   - update lib/lz4 to v1.8.3;
> >   - add test for filesystem functions;
> > 
> > Changes since v1:
> >   - fix the inconsistency between From and SoB;
> >   - add missing license header;
> > 
> > Huang Jianan (5):
> >    fs/erofs: add erofs filesystem support
> >    lib/lz4: update LZ4 decompressor module
> >    fs/erofs: add lz4 decompression support
> >    fs/erofs: add filesystem commands
> >    test/py: Add tests for the erofs
> > 
> >   MAINTAINERS                         |   9 +
> >   cmd/Kconfig                         |   6 +
> >   cmd/Makefile                        |   1 +
> >   cmd/erofs.c                         |  42 ++
> >   configs/sandbox_defconfig           |   1 +
> >   fs/Kconfig                          |   2 +
> >   fs/Makefile                         |   1 +
> >   fs/erofs/Kconfig                    |  21 +
> >   fs/erofs/Makefile                   |   9 +
> >   fs/erofs/data.c                     | 311 +++++++++++++
> >   fs/erofs/decompress.c               |  78 ++++
> >   fs/erofs/decompress.h               |  24 +
> >   fs/erofs/erofs_fs.h                 | 436 ++++++++++++++++++
> >   fs/erofs/fs.c                       | 267 +++++++++++
> >   fs/erofs/internal.h                 | 313 +++++++++++++
> >   fs/erofs/namei.c                    | 252 +++++++++++
> >   fs/erofs/super.c                    | 105 +++++
> >   fs/erofs/zmap.c                     | 601 ++++++++++++++++++++++++
> >   fs/fs.c                             |  22 +
> >   include/erofs.h                     |  19 +
> >   include/fs.h                        |   1 +
> >   include/u-boot/lz4.h                |  49 ++
> >   lib/lz4.c                           | 679 ++++++++++++++++++++--------
> >   lib/lz4_wrapper.c                   |  23 +-
> >   test/py/tests/test_fs/test_erofs.py | 211 +++++++++
> >   tools/docker/Dockerfile             |   1 +
> >   26 files changed, 3269 insertions(+), 215 deletions(-)
> >   create mode 100644 cmd/erofs.c
> >   create mode 100644 fs/erofs/Kconfig
> >   create mode 100644 fs/erofs/Makefile
> >   create mode 100644 fs/erofs/data.c
> >   create mode 100644 fs/erofs/decompress.c
> >   create mode 100644 fs/erofs/decompress.h
> >   create mode 100644 fs/erofs/erofs_fs.h
> >   create mode 100644 fs/erofs/fs.c
> >   create mode 100644 fs/erofs/internal.h
> >   create mode 100644 fs/erofs/namei.c
> >   create mode 100644 fs/erofs/super.c
> >   create mode 100644 fs/erofs/zmap.c
> >   create mode 100644 include/erofs.h
> >   create mode 100644 test/py/tests/test_fs/test_erofs.py
> > 
>
Jianan Huang March 5, 2022, 1:06 p.m. UTC | #3
在 2022/3/4 3:15, Tom Rini 写道:
> On Thu, Mar 03, 2022 at 10:51:18PM +0800, Huang Jianan wrote:
>
>> Hi Tom,
>>
>> Would you mind taking some time to check if this version meets
>> the requirements ?So we could have a chance to be merged
>> into the next version ?
>>
>> I have triggered a CI via Github PR based on this version :
>> https://github.com/u-boot/u-boot/pull/133
> It seems fine, yes.  The thing about that PR is that it doesn't use a
> custom build of the Docker container that also has the tools, so the FS
> tests aren't actually run.  I'll do that when I get to testing and
> applying this, but if you can do that before hand to ensure the tests
> really do run and pass, especially on Azure where things can be a tiny
> bit trickier (since source directory is enforced read-only), that would
> be great.
I verified the test on my own machine, but I overlooked that the container
used in CI is prebuilt ...
I replaced the container in the .azure-pipelines.yml with my own build and
re-triggered the CI on this PR. Now I can see from the log that the newly
added test_erofs is working properly.

Thanks,
Jianan
>> Thanks,
>> Jianan
>>
>> 在 2022/2/26 15:05, Huang Jianan 写道:
>>> Changes since v3:
>>>    - update tools/docker/Dockerfile;
>>>
>>> Changes since v2:
>>>    - sync up with erofs-utils 1.4;
>>>    - update lib/lz4 to v1.8.3;
>>>    - add test for filesystem functions;
>>>
>>> Changes since v1:
>>>    - fix the inconsistency between From and SoB;
>>>    - add missing license header;
>>>
>>> Huang Jianan (5):
>>>     fs/erofs: add erofs filesystem support
>>>     lib/lz4: update LZ4 decompressor module
>>>     fs/erofs: add lz4 decompression support
>>>     fs/erofs: add filesystem commands
>>>     test/py: Add tests for the erofs
>>>
>>>    MAINTAINERS                         |   9 +
>>>    cmd/Kconfig                         |   6 +
>>>    cmd/Makefile                        |   1 +
>>>    cmd/erofs.c                         |  42 ++
>>>    configs/sandbox_defconfig           |   1 +
>>>    fs/Kconfig                          |   2 +
>>>    fs/Makefile                         |   1 +
>>>    fs/erofs/Kconfig                    |  21 +
>>>    fs/erofs/Makefile                   |   9 +
>>>    fs/erofs/data.c                     | 311 +++++++++++++
>>>    fs/erofs/decompress.c               |  78 ++++
>>>    fs/erofs/decompress.h               |  24 +
>>>    fs/erofs/erofs_fs.h                 | 436 ++++++++++++++++++
>>>    fs/erofs/fs.c                       | 267 +++++++++++
>>>    fs/erofs/internal.h                 | 313 +++++++++++++
>>>    fs/erofs/namei.c                    | 252 +++++++++++
>>>    fs/erofs/super.c                    | 105 +++++
>>>    fs/erofs/zmap.c                     | 601 ++++++++++++++++++++++++
>>>    fs/fs.c                             |  22 +
>>>    include/erofs.h                     |  19 +
>>>    include/fs.h                        |   1 +
>>>    include/u-boot/lz4.h                |  49 ++
>>>    lib/lz4.c                           | 679 ++++++++++++++++++++--------
>>>    lib/lz4_wrapper.c                   |  23 +-
>>>    test/py/tests/test_fs/test_erofs.py | 211 +++++++++
>>>    tools/docker/Dockerfile             |   1 +
>>>    26 files changed, 3269 insertions(+), 215 deletions(-)
>>>    create mode 100644 cmd/erofs.c
>>>    create mode 100644 fs/erofs/Kconfig
>>>    create mode 100644 fs/erofs/Makefile
>>>    create mode 100644 fs/erofs/data.c
>>>    create mode 100644 fs/erofs/decompress.c
>>>    create mode 100644 fs/erofs/decompress.h
>>>    create mode 100644 fs/erofs/erofs_fs.h
>>>    create mode 100644 fs/erofs/fs.c
>>>    create mode 100644 fs/erofs/internal.h
>>>    create mode 100644 fs/erofs/namei.c
>>>    create mode 100644 fs/erofs/super.c
>>>    create mode 100644 fs/erofs/zmap.c
>>>    create mode 100644 include/erofs.h
>>>    create mode 100644 test/py/tests/test_fs/test_erofs.py
>>>
Tom Rini March 5, 2022, 2:57 p.m. UTC | #4
On Sat, Mar 05, 2022 at 09:06:36PM +0800, Huang Jianan wrote:
> 
> 
> 在 2022/3/4 3:15, Tom Rini 写道:
> > On Thu, Mar 03, 2022 at 10:51:18PM +0800, Huang Jianan wrote:
> > 
> > > Hi Tom,
> > > 
> > > Would you mind taking some time to check if this version meets
> > > the requirements ?So we could have a chance to be merged
> > > into the next version ?
> > > 
> > > I have triggered a CI via Github PR based on this version :
> > > https://github.com/u-boot/u-boot/pull/133
> > It seems fine, yes.  The thing about that PR is that it doesn't use a
> > custom build of the Docker container that also has the tools, so the FS
> > tests aren't actually run.  I'll do that when I get to testing and
> > applying this, but if you can do that before hand to ensure the tests
> > really do run and pass, especially on Azure where things can be a tiny
> > bit trickier (since source directory is enforced read-only), that would
> > be great.
> I verified the test on my own machine, but I overlooked that the container
> used in CI is prebuilt ...
> I replaced the container in the .azure-pipelines.yml with my own build and
> re-triggered the CI on this PR. Now I can see from the log that the newly
> added test_erofs is working properly.

Great, thanks for confirming!