Message ID | 20210602041539.123097-3-drosen@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix up casefolding sysfs entries for F2FS | expand |
On 2021/6/2 12:15, Daniel Rosenberg wrote: > Older kernels don't support encryption with casefolding. This adds > the sysfs entry encrypted_casefold to show support for those combined > features. Support for this feature was originally added by > commit 7ad08a58bf67 ("f2fs: Handle casefolding with Encryption") Shouldn't this be backported to the kernel where we support casefolding with encryption? So adding a fixes tag here? Thanks, > > Signed-off-by: Daniel Rosenberg <drosen@google.com> > --- > fs/f2fs/sysfs.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c > index 09e3f258eb52..3c1095a76710 100644 > --- a/fs/f2fs/sysfs.c > +++ b/fs/f2fs/sysfs.c > @@ -161,6 +161,9 @@ static ssize_t features_show(struct f2fs_attr *a, > if (f2fs_sb_has_compression(sbi)) > len += scnprintf(buf + len, PAGE_SIZE - len, "%s%s", > len ? ", " : "", "compression"); > + if (f2fs_sb_has_casefold(sbi) && f2fs_sb_has_encrypt(sbi)) > + len += scnprintf(buf + len, PAGE_SIZE - len, "%s%s", > + len ? ", " : "", "encrypted_casefold"); > len += scnprintf(buf + len, PAGE_SIZE - len, "%s%s", > len ? ", " : "", "pin_file"); > len += scnprintf(buf + len, PAGE_SIZE - len, "\n"); > @@ -579,6 +582,7 @@ enum feat_id { > FEAT_CASEFOLD, > FEAT_COMPRESSION, > FEAT_TEST_DUMMY_ENCRYPTION_V2, > + FEAT_ENCRYPTED_CASEFOLD, > }; > > static ssize_t f2fs_feature_show(struct f2fs_attr *a, > @@ -600,6 +604,7 @@ static ssize_t f2fs_feature_show(struct f2fs_attr *a, > case FEAT_CASEFOLD: > case FEAT_COMPRESSION: > case FEAT_TEST_DUMMY_ENCRYPTION_V2: > + case FEAT_ENCRYPTED_CASEFOLD: > return sprintf(buf, "supported\n"); > } > return 0; > @@ -704,6 +709,9 @@ F2FS_GENERAL_RO_ATTR(avg_vblocks); > #ifdef CONFIG_FS_ENCRYPTION > F2FS_FEATURE_RO_ATTR(encryption, FEAT_CRYPTO); > F2FS_FEATURE_RO_ATTR(test_dummy_encryption_v2, FEAT_TEST_DUMMY_ENCRYPTION_V2); > +#ifdef CONFIG_UNICODE > +F2FS_FEATURE_RO_ATTR(encrypted_casefold, FEAT_ENCRYPTED_CASEFOLD); > +#endif > #endif > #ifdef CONFIG_BLK_DEV_ZONED > F2FS_FEATURE_RO_ATTR(block_zoned, FEAT_BLKZONED); > @@ -815,6 +823,9 @@ static struct attribute *f2fs_feat_attrs[] = { > #ifdef CONFIG_FS_ENCRYPTION > ATTR_LIST(encryption), > ATTR_LIST(test_dummy_encryption_v2), > +#ifdef CONFIG_UNICODE > + ATTR_LIST(encrypted_casefold), > +#endif > #endif > #ifdef CONFIG_BLK_DEV_ZONED > ATTR_LIST(block_zoned), >
On Wed, Jun 02, 2021 at 04:15:39AM +0000, Daniel Rosenberg wrote: > +#ifdef CONFIG_UNICODE > +F2FS_FEATURE_RO_ATTR(encrypted_casefold, FEAT_ENCRYPTED_CASEFOLD); > +#endif Shouldn't it be defined(CONFIG_UNICODE) && defined(CONFIG_FS_ENCRYPTION)? > #endif > #ifdef CONFIG_BLK_DEV_ZONED > F2FS_FEATURE_RO_ATTR(block_zoned, FEAT_BLKZONED); > @@ -815,6 +823,9 @@ static struct attribute *f2fs_feat_attrs[] = { > #ifdef CONFIG_FS_ENCRYPTION > ATTR_LIST(encryption), > ATTR_LIST(test_dummy_encryption_v2), > +#ifdef CONFIG_UNICODE > + ATTR_LIST(encrypted_casefold), > +#endif Likewise here. - Eric
On Wed, Jun 2, 2021 at 12:54 PM Eric Biggers <ebiggers@kernel.org> wrote: > > On Wed, Jun 02, 2021 at 04:15:39AM +0000, Daniel Rosenberg wrote: > > +#ifdef CONFIG_UNICODE > > +F2FS_FEATURE_RO_ATTR(encrypted_casefold, FEAT_ENCRYPTED_CASEFOLD); > > +#endif > > Shouldn't it be defined(CONFIG_UNICODE) && defined(CONFIG_FS_ENCRYPTION)? > > > #endif > > #ifdef CONFIG_BLK_DEV_ZONED > > F2FS_FEATURE_RO_ATTR(block_zoned, FEAT_BLKZONED); > > @@ -815,6 +823,9 @@ static struct attribute *f2fs_feat_attrs[] = { > > #ifdef CONFIG_FS_ENCRYPTION > > ATTR_LIST(encryption), > > ATTR_LIST(test_dummy_encryption_v2), > > +#ifdef CONFIG_UNICODE > > + ATTR_LIST(encrypted_casefold), > > +#endif > > Likewise here. > > - Eric Those are already within an #ifdef CONFIG_FS_ENCRYPTION, so it should be covered already. Should I send a v2 set with the Fixes: 7ad08a58bf67 ("f2fs: Handle casefolding with Encryption") Cc: stable@vger.kernel.org # v5.11+ appended? -Daniel
On Wed, Jun 02, 2021 at 04:22:38PM -0700, Daniel Rosenberg wrote: > On Wed, Jun 2, 2021 at 12:54 PM Eric Biggers <ebiggers@kernel.org> wrote: > > > > On Wed, Jun 02, 2021 at 04:15:39AM +0000, Daniel Rosenberg wrote: > > > +#ifdef CONFIG_UNICODE > > > +F2FS_FEATURE_RO_ATTR(encrypted_casefold, FEAT_ENCRYPTED_CASEFOLD); > > > +#endif > > > > Shouldn't it be defined(CONFIG_UNICODE) && defined(CONFIG_FS_ENCRYPTION)? > > > > > #endif > > > #ifdef CONFIG_BLK_DEV_ZONED > > > F2FS_FEATURE_RO_ATTR(block_zoned, FEAT_BLKZONED); > > > @@ -815,6 +823,9 @@ static struct attribute *f2fs_feat_attrs[] = { > > > #ifdef CONFIG_FS_ENCRYPTION > > > ATTR_LIST(encryption), > > > ATTR_LIST(test_dummy_encryption_v2), > > > +#ifdef CONFIG_UNICODE > > > + ATTR_LIST(encrypted_casefold), > > > +#endif > > > > Likewise here. > > > > - Eric > > Those are already within an #ifdef CONFIG_FS_ENCRYPTION, so it should > be covered already. Adding a comment to the #endif for CONFIG_FS_ENCRYPTION would make it easier to read: #endif /* CONFIG_FS_ENCRYPTION */ > Should I send a v2 set with the > > Fixes: 7ad08a58bf67 ("f2fs: Handle casefolding with Encryption") > Cc: stable@vger.kernel.org # v5.11+ > > appended? Yes, please add those tags. - Eric
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c index 09e3f258eb52..3c1095a76710 100644 --- a/fs/f2fs/sysfs.c +++ b/fs/f2fs/sysfs.c @@ -161,6 +161,9 @@ static ssize_t features_show(struct f2fs_attr *a, if (f2fs_sb_has_compression(sbi)) len += scnprintf(buf + len, PAGE_SIZE - len, "%s%s", len ? ", " : "", "compression"); + if (f2fs_sb_has_casefold(sbi) && f2fs_sb_has_encrypt(sbi)) + len += scnprintf(buf + len, PAGE_SIZE - len, "%s%s", + len ? ", " : "", "encrypted_casefold"); len += scnprintf(buf + len, PAGE_SIZE - len, "%s%s", len ? ", " : "", "pin_file"); len += scnprintf(buf + len, PAGE_SIZE - len, "\n"); @@ -579,6 +582,7 @@ enum feat_id { FEAT_CASEFOLD, FEAT_COMPRESSION, FEAT_TEST_DUMMY_ENCRYPTION_V2, + FEAT_ENCRYPTED_CASEFOLD, }; static ssize_t f2fs_feature_show(struct f2fs_attr *a, @@ -600,6 +604,7 @@ static ssize_t f2fs_feature_show(struct f2fs_attr *a, case FEAT_CASEFOLD: case FEAT_COMPRESSION: case FEAT_TEST_DUMMY_ENCRYPTION_V2: + case FEAT_ENCRYPTED_CASEFOLD: return sprintf(buf, "supported\n"); } return 0; @@ -704,6 +709,9 @@ F2FS_GENERAL_RO_ATTR(avg_vblocks); #ifdef CONFIG_FS_ENCRYPTION F2FS_FEATURE_RO_ATTR(encryption, FEAT_CRYPTO); F2FS_FEATURE_RO_ATTR(test_dummy_encryption_v2, FEAT_TEST_DUMMY_ENCRYPTION_V2); +#ifdef CONFIG_UNICODE +F2FS_FEATURE_RO_ATTR(encrypted_casefold, FEAT_ENCRYPTED_CASEFOLD); +#endif #endif #ifdef CONFIG_BLK_DEV_ZONED F2FS_FEATURE_RO_ATTR(block_zoned, FEAT_BLKZONED); @@ -815,6 +823,9 @@ static struct attribute *f2fs_feat_attrs[] = { #ifdef CONFIG_FS_ENCRYPTION ATTR_LIST(encryption), ATTR_LIST(test_dummy_encryption_v2), +#ifdef CONFIG_UNICODE + ATTR_LIST(encrypted_casefold), +#endif #endif #ifdef CONFIG_BLK_DEV_ZONED ATTR_LIST(block_zoned),
Older kernels don't support encryption with casefolding. This adds the sysfs entry encrypted_casefold to show support for those combined features. Support for this feature was originally added by commit 7ad08a58bf67 ("f2fs: Handle casefolding with Encryption") Signed-off-by: Daniel Rosenberg <drosen@google.com> --- fs/f2fs/sysfs.c | 11 +++++++++++ 1 file changed, 11 insertions(+)