[PATCH v1 0/3] Make erofs-utils more library friendly
Kelvin Zhang
zhangkelvin at google.com
Tue Nov 23 18:39:18 AEDT 2021
Sounds good, now that v1.4 is available on kernel.lorg, shall we start
working on the refactoring commits?
On Sun, Nov 21, 2021 at 2:31 AM Gao Xiang <hsiangkao at linux.alibaba.com>
wrote:
> Hi Kelvin,
>
> On Sat, Nov 20, 2021 at 09:39:17PM -0800, Kelvin Zhang wrote:
> > EROFS-utils contains several usage of global variables, namely
> >
> > 1. int erofs_devfd, stores the file descriptor to open'ed block devices.
> > This is referened in many places.
> > 2. struct erofs_sb_info sbi; Stores parsed super block.
> >
> > These global variables make embedding erofs library diffcult. To make
> > library usage easier, a series of 3 patches are drafted to refactor away
> > the global variables. Each patch has been built and tested by calling
> > mkfs.erofs and ensure the same output is generated.
>
> Agreed, that is mainly due to fast iterative development. If we consider
> to export liberofs as a real library, these all needs to be resolved in
> advance, and it'd be better to stablize all liberofs APIs as well.
>
> However, let's postpone this work until 1.4 is out, I have to admit I'm
> a bit delay of releasing v1.4 due to my busy work.
> Now I'm working on pre-releasing..
>
> Thanks,
> Gao Xiang
>
> >
> > Kelvin Zhang (3):
> > Make erofs_devfd a parameter for most functions
> > Mark certain callback function pointers as const
> > Make super block info struct a paramater instead of globals
> >
> > Android.bp | 44 +++++++-
> > dump/main.c | 84 ++++++++------
> > fsck/main.c | 90 +++++++++------
> > fuse/dir.c | 8 +-
> > fuse/main.c | 19 ++--
> > include/erofs/blobchunk.h | 7 +-
> > include/erofs/cache.h | 15 +--
> > include/erofs/compress.h | 10 +-
> > include/erofs/config.h | 15 +--
> > include/erofs/decompress.h | 5 +-
> > include/erofs/defs.h | 21 ++++
> > include/erofs/inode.h | 9 +-
> > include/erofs/internal.h | 72 ++++++------
> > include/erofs/io.h | 48 +++++---
> > include/erofs/iterate.h | 35 ++++++
> > include/erofs/xattr.h | 2 +-
> > iterate/main.c | 51 +++++++++
> > lib/blobchunk.c | 11 +-
> > lib/cache.c | 33 +++---
> > lib/compress.c | 104 ++++++++++-------
> > lib/compressor.c | 9 +-
> > lib/compressor.h | 13 ++-
> > lib/compressor_liblzma.c | 4 +-
> > lib/compressor_lz4.c | 8 +-
> > lib/compressor_lz4hc.c | 6 +-
> > lib/config.c | 64 ++++++-----
> > lib/data.c | 54 +++++----
> > lib/decompress.c | 12 +-
> > lib/inode.c | 129 ++++++++++++---------
> > lib/io.c | 74 ++++++------
> > lib/iterate.c | 223 +++++++++++++++++++++++++++++++++++++
> > lib/namei.c | 44 +++++---
> > lib/super.c | 28 ++---
> > lib/xattr.c | 10 +-
> > lib/zmap.c | 92 +++++++++------
> > mkfs/main.c | 92 +++++++--------
> > 36 files changed, 1069 insertions(+), 476 deletions(-)
> > create mode 100644 include/erofs/iterate.h
> > create mode 100644 iterate/main.c
> > create mode 100644 lib/iterate.c
> >
> > --
> > 2.34.0.rc2.393.gf8c9666880-goog
>
--
Sincerely,
Kelvin Zhang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linux-erofs/attachments/20211122/f3c2c1a2/attachment.htm>
More information about the Linux-erofs
mailing list