[PATCH v2] AOSP: erofs-utils: fix sub-directory prefix for canned fs_config
Yue Hu
zbestahu at gmail.com
Mon Dec 28 22:39:00 AEDT 2020
On Mon, 28 Dec 2020 19:32:47 +0800
Gao Xiang <hsiangkao at redhat.com> wrote:
> Hi Yue,
>
> On Mon, Dec 28, 2020 at 07:20:48PM +0800, Yue Hu wrote:
> > On Mon, 28 Dec 2020 18:51:46 +0800
> > Gao Xiang <hsiangkao at redhat.com> wrote:
>
> ...
>
> > > @@ -696,32 +696,43 @@ int erofs_droid_inode_fsconfig(struct
> > > erofs_inode *inode, /* filesystem_config does not preserve file
> > > type bits */ mode_t stat_file_type_mask = st->st_mode & S_IFMT;
> > > unsigned int uid = 0, gid = 0, mode = 0;
> > > - char *fspath;
> > > + const char *fspath;
> > > + char *decorated = NULL;
> > >
> > > inode->capabilities = 0;
> > > + if (!cfg.fs_config_file && !cfg.mount_point)
> > > + return 0;
> > > +
> > > + if (!cfg.mount_point ||
> > > + /* have to drop the mountpoint for rootdir of canned
> > > fsconfig */
> > > + (cfg.fs_config_file && erofs_fspath(path)[0] ==
> > > '\0')) {
> > > + fspath = erofs_fspath(path);
> > > + } else {
> > > + if (asprintf(&decorated, "%s/%s",
> > > cfg.mount_point,
> > > + erofs_fspath(path)) <= 0)
> > > + return -ENOMEM;
> > > + fspath = decorated;
> > > + }
> > > +
> > > if (cfg.fs_config_file)
> >
> > Whether we can use the first "cfg.fs_config_file" when loading
> > canned fs-config to reduce/simplify these duplicated calling?
>
> Not sure what you mean... If you mean why not using some
Sorry for my typo. I mean duplicated 'check' to cfg.fs_config_file.
> "fs_config_func" as squashfs did, that is I'd like to 1) avoid such
> unneeded indirect function pointers, and 2) no need to introduce such
> function prototype (I don't want to maintain such function pointer
> type) since fs_config and canned_fs_config implement differently (and
> it seems they also behave differently so no need to mix them at all).
Ok.
>
> Thanks,
> Gao Xiang
>
More information about the Linux-erofs
mailing list