2022-03-17 04:23:04

by Jingbo Xu

[permalink] [raw]
Subject: [PATCH v5 10/22] erofs: add mode checking helper

Until then erofs is exactly blockdev based filesystem. In other using
scenarios (e.g. container image), erofs needs to run upon files.

This patch set is going to introduces a new nodev mode, in which erofs
could be mounted from a bootstrap blob file containing complete erofs
image.

Add a helper checking which mode erofs works in.

Signed-off-by: Jeffle Xu <[email protected]>
---
fs/erofs/internal.h | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
index e424293f47a2..f66af9ebda43 100644
--- a/fs/erofs/internal.h
+++ b/fs/erofs/internal.h
@@ -161,6 +161,11 @@ struct erofs_sb_info {
#define set_opt(opt, option) ((opt)->mount_opt |= EROFS_MOUNT_##option)
#define test_opt(opt, option) ((opt)->mount_opt & EROFS_MOUNT_##option)

+static inline bool erofs_bdev_mode(struct super_block *sb)
+{
+ return sb->s_bdev;
+}
+
enum {
EROFS_ZIP_CACHE_DISABLED,
EROFS_ZIP_CACHE_READAHEAD,
--
2.27.0


2022-03-17 06:16:13

by Gao Xiang

[permalink] [raw]
Subject: Re: [Linux-cachefs] [PATCH v5 10/22] erofs: add mode checking helper

On Wed, Mar 16, 2022 at 09:17:11PM +0800, Jeffle Xu wrote:
> Until then erofs is exactly blockdev based filesystem. In other using
> scenarios (e.g. container image), erofs needs to run upon files.
>
> This patch set is going to introduces a new nodev mode, in which erofs
> could be mounted from a bootstrap blob file containing complete erofs
> image.
>
> Add a helper checking which mode erofs works in.
>
> Signed-off-by: Jeffle Xu <[email protected]>
> ---
> fs/erofs/internal.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
> index e424293f47a2..f66af9ebda43 100644
> --- a/fs/erofs/internal.h
> +++ b/fs/erofs/internal.h
> @@ -161,6 +161,11 @@ struct erofs_sb_info {
> #define set_opt(opt, option) ((opt)->mount_opt |= EROFS_MOUNT_##option)
> #define test_opt(opt, option) ((opt)->mount_opt & EROFS_MOUNT_##option)
>
> +static inline bool erofs_bdev_mode(struct super_block *sb)

How about renaming it as erofs_is_nodev_mode()?

Thanks,
Gao Xiang

> +{
> + return sb->s_bdev;
> +}
> +
> enum {
> EROFS_ZIP_CACHE_DISABLED,
> EROFS_ZIP_CACHE_READAHEAD,
> --
> 2.27.0
>
> --
> Linux-cachefs mailing list
> [email protected]
> https://listman.redhat.com/mailman/listinfo/linux-cachefs

2022-03-18 14:29:18

by Jingbo Xu

[permalink] [raw]
Subject: Re: [Linux-cachefs] [PATCH v5 10/22] erofs: add mode checking helper



On 3/17/22 1:36 PM, Gao Xiang wrote:
> On Wed, Mar 16, 2022 at 09:17:11PM +0800, Jeffle Xu wrote:
>> Until then erofs is exactly blockdev based filesystem. In other using
>> scenarios (e.g. container image), erofs needs to run upon files.
>>
>> This patch set is going to introduces a new nodev mode, in which erofs
>> could be mounted from a bootstrap blob file containing complete erofs
>> image.
>>
>> Add a helper checking which mode erofs works in.
>>
>> Signed-off-by: Jeffle Xu <[email protected]>
>> ---
>> fs/erofs/internal.h | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
>> index e424293f47a2..f66af9ebda43 100644
>> --- a/fs/erofs/internal.h
>> +++ b/fs/erofs/internal.h
>> @@ -161,6 +161,11 @@ struct erofs_sb_info {
>> #define set_opt(opt, option) ((opt)->mount_opt |= EROFS_MOUNT_##option)
>> #define test_opt(opt, option) ((opt)->mount_opt & EROFS_MOUNT_##option)
>>
>> +static inline bool erofs_bdev_mode(struct super_block *sb)
>
> How about renaming it as erofs_is_nodev_mode()?

Sure, will be renamed in the next version.


--
Thanks,
Jeffle