[PATCH v2 2/2] erofs: use get_tree_bdev_flags() to avoid misleading messages

Christoph Hellwig hch at infradead.org
Wed Oct 9 18:31:33 AEDT 2024


On Wed, Oct 09, 2024 at 11:31:51AM +0800, Gao Xiang wrote:
> Users can pass in an arbitrary source path for the proper type of
> a mount then without "Can't lookup blockdev" error message.
> 
> Reported-by: Allison Karlitskaya <allison.karlitskaya at redhat.com>
> Closes: https://lore.kernel.org/r/CAOYeF9VQ8jKVmpy5Zy9DNhO6xmWSKMB-DO8yvBB0XvBE7=3Ugg@mail.gmail.com
> Signed-off-by: Gao Xiang <hsiangkao at linux.alibaba.com>
> ---
> changes since v1:
>  - use new get_tree_bdev_flags().
> 
>  fs/erofs/super.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/erofs/super.c b/fs/erofs/super.c
> index 666873f745da..b89836a8760d 100644
> --- a/fs/erofs/super.c
> +++ b/fs/erofs/super.c
> @@ -705,7 +705,9 @@ static int erofs_fc_get_tree(struct fs_context *fc)
>  	if (IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND) && sbi->fsid)
>  		return get_tree_nodev(fc, erofs_fc_fill_super);
>  
> -	ret = get_tree_bdev(fc, erofs_fc_fill_super);
> +	ret = get_tree_bdev_flags(fc, erofs_fc_fill_super,
> +		IS_ENABLED(CONFIG_EROFS_FS_BACKED_BY_FILE) ?
> +			GET_TREE_BDEV_QUIET_LOOKUP : 0);

Why not pass it unconditionally and provide your own more useful
error message at the end of the function if you could not find any
source?



More information about the Linux-erofs mailing list