[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