On Mon, 28 Dec 2020 19:32:47 +0800 Gao Xiang <[email protected]> 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 <[email protected]> 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 >
