Reviewed-by: Steven French
On Tue, Apr 4, 2023 at 6:22 PM Darrick J. Wong wrote:
>
> On Wed, Apr 05, 2023 at 01:14:09AM +0800, Zorro Lang wrote:
> > The fstests supports different kind of fs testing, better to cc
> > specific fs mailing list for specific fs testing, to get better
> > reviewing p
On 2023/3/31 0:56, Yangtao Li wrote:
If the compress feature is not enabled, there is no need to set
compress-related parameters.
Signed-off-by: Yangtao Li
Patch looks fine, but it's better to fix similar issues in one
patch.
e.g.
f2fs: add compression feature check for all compress mount op
On 2023/3/31 19:33, Yangtao Li wrote:
Let's use sysfs_emit.
Signed-off-by: Yangtao Li
---
fs/f2fs/sysfs.c | 10 ++
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index 9ddc6ee19433..2c0b2cb05a3a 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f2
On 2023/3/31 0:49, Yangtao Li wrote:
+#ifdef CONFIG_F2FS_FS_LZ4HC
+ unsigned char level = F2FS_I(cc->inode)->i_compress_level;
if (level)
len = LZ4_compress_HC(cc->rbuf, cc->cbuf->cdata, cc->rlen,
cc->clen, level, cc->private);
On 2023/4/5 5:39, Jaegeuk Kim wrote:
Can we do like this?
From 9a58f0e59364241aa31b555cfe793d278e39b0dc Mon Sep 17 00:00:00 2001
From: Jaegeuk Kim
Date: Tue, 4 Apr 2023 14:36:00 -0700
Subject: [PATCH] f2fs: do checkpoint when there's not enough free sections
We didn't do checkpoint in FG_GC c
On 2023/4/5 5:26, Jaegeuk Kim wrote:
On 04/04, Chao Yu wrote:
On 2023/4/4 1:01, Jaegeuk Kim wrote:
On 04/01, Chao Yu wrote:
On 2023/3/21 8:12, Yonggil Song wrote:
When f2fs tries to checkpoint during foreground gc in LFS mode, system
crash occurs due to lack of free space if the amount of dir
On Tue, Apr 04, 2023 at 03:41:23PM -0700, Eric Biggers wrote:
> Hi Andrey,
>
> On Tue, Apr 04, 2023 at 04:53:12PM +0200, Andrey Albershteyn wrote:
> > Add flag to mark inodes which have fs-verity enabled on them (i.e.
> > descriptor exist and tree is built).
> >
> > Signed-off-by: Andrey Albersht
On Tue, Apr 04, 2023 at 04:53:02PM +0200, Andrey Albershteyn wrote:
> Allow filesystem to make additional processing on verified pages
> instead of just dropping a reference. This will be used by XFS for
> internal buffer cache manipulation in further patches. The btrfs,
> ext4, and f2fs just drop
On Tue, Apr 04, 2023 at 04:52:56PM +0200, Andrey Albershteyn wrote:
> The patchset is tested with xfstests -g auto on xfs_1k, xfs_4k,
> xfs_1k_quota, and xfs_4k_quota. Haven't found any major failures.
Just to double check, did you verify that the tests in the "verity" group are
running, and were
Hi Juhyung,
On 04/04, Juhyung Park wrote:
> Hi everyone,
>
> I want to start a discussion on using f2fs for regular desktops/workstations.
>
> There are growing number of interests in using f2fs as the general
> root file-system:
> 2018: https://www.phoronix.com/news/GRUB-Now-Supports-F2FS
> 202
Hi Andrey,
On Tue, Apr 04, 2023 at 04:53:17PM +0200, Andrey Albershteyn wrote:
> In case of different Merkle tree block size fs-verity expects
> ->read_merkle_tree_page() to return Merkle tree page filled with
> Merkle tree blocks. The XFS stores each merkle tree block under
> extended attribute.
On Wed, Apr 05, 2023 at 01:14:11AM +0800, Zorro Lang wrote:
> Darrick J. Wong would like to nominate Anand Jain to help more on
In case anyone's wondering how this all came about -- Anand asked me how
he could do more upstream fstests review work, so I suggested that he
and I talk to Zorro about d
On Wed, Apr 05, 2023 at 01:14:10AM +0800, Zorro Lang wrote:
> Some people contribute to someone specific fs testing mostly, record
> some of them as Reviewer.
>
> Signed-off-by: Zorro Lang
> ---
>
> If someone doesn't want to be in cc list of related fstests patch, please
> reply this email, I'l
On Tue, Apr 04, 2023 at 03:16:53PM -0700, Eric Biggers wrote:
> Hi Zorro,
>
> On Wed, Apr 05, 2023 at 01:14:09AM +0800, Zorro Lang wrote:
> > +FSVERITY
> > +L: fsver...@lists.linux.dev
> > +S: Supported
> > +F: common/verity
> > +
> > +FSCRYPT
> > +L: linux-fscr...@vger.kernel.org
> > +S: Sup
On Wed, Apr 05, 2023 at 01:14:09AM +0800, Zorro Lang wrote:
> The fstests supports different kind of fs testing, better to cc
> specific fs mailing list for specific fs testing, to get better
> reviewing points. So record these mailing lists and files related
> with them in MAINTAINERS file.
>
> S
On Wed, Apr 05, 2023 at 01:14:07AM +0800, Zorro Lang wrote:
> As fstests covers more and more fs testing, so we always get help
> from fs specific mailing list, due to they learn about their features
> and bugs more. Besides that, some folks help to review patches
> (relevant with them) more often.
Hi Andrey,
On Tue, Apr 04, 2023 at 04:53:12PM +0200, Andrey Albershteyn wrote:
> Add flag to mark inodes which have fs-verity enabled on them (i.e.
> descriptor exist and tree is built).
>
> Signed-off-by: Andrey Albershteyn
> ---
> fs/ioctl.c | 4
> fs/xfs/libxfs/xfs_forma
Hi Zorro,
On Wed, Apr 05, 2023 at 01:14:09AM +0800, Zorro Lang wrote:
> +FSVERITY
> +L: fsver...@lists.linux.dev
> +S: Supported
> +F: common/verity
> +
> +FSCRYPT
> +L: linux-fscr...@vger.kernel.org
> +S: Supported
> +F: common/encrypt
Most of the encrypt and verity tests are in t
Can we do like this?
>From 9a58f0e59364241aa31b555cfe793d278e39b0dc Mon Sep 17 00:00:00 2001
From: Jaegeuk Kim
Date: Tue, 4 Apr 2023 14:36:00 -0700
Subject: [PATCH] f2fs: do checkpoint when there's not enough free sections
We didn't do checkpoint in FG_GC case, which may cause losing to reclaim
Hello:
This patch was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim :
On Tue, 4 Apr 2023 23:28:07 +0800 you wrote:
> With below case, it can mount multi-device image w/ rw option, however
> one of secondary device is set as ro, later update will cause panic, so
> let's introduce f2fs_dev_is_r
Hello:
The following patches were marked "accepted", because they were applied to
jaegeuk/f2fs.git (dev):
Patch: [f2fs-dev,v2] f2fs: remove struct victim_selection default_v_ops
Submitter: Yangtao Li
Committer: Jaegeuk Kim
Patchwork: https://patchwork.kernel.org/project/f2fs/list/?series=
Hello:
This patch was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim :
On Tue, 4 Apr 2023 12:00:51 +0800 you wrote:
> There is only single instance of these ops, and Jaegeuk point out that:
>
> Originally this was intended to give a chance to provide other
> allocation option. Anyway,
On 04/04, Chao Yu wrote:
> On 2023/4/4 1:01, Jaegeuk Kim wrote:
> > On 04/01, Chao Yu wrote:
> > > On 2023/3/21 8:12, Yonggil Song wrote:
> > > > When f2fs tries to checkpoint during foreground gc in LFS mode, system
> > > > crash occurs due to lack of free space if the amount of dirty node and
> >
Hi Andrey,
kernel test robot noticed the following build errors:
[auto build test ERROR on xfs-linux/for-next]
[also build test ERROR on kdave/for-next jaegeuk-f2fs/dev-test jaegeuk-f2fs/dev
linus/master v6.3-rc5]
[cannot apply to next-20230404]
[If your patch is applied to the wrong git tree
Hi Andrey,
kernel test robot noticed the following build errors:
[auto build test ERROR on xfs-linux/for-next]
[also build test ERROR on kdave/for-next tytso-ext4/dev jaegeuk-f2fs/dev-test
jaegeuk-f2fs/dev linus/master v6.3-rc5]
[cannot apply to next-20230404]
[If your patch is applied to the
There's not penguin chiefs in fstests, so remove related code.
Signed-off-by: Zorro Lang
---
tools/get_maintainer.pl | 45 +
1 file changed, 1 insertion(+), 44 deletions(-)
diff --git a/tools/get_maintainer.pl b/tools/get_maintainer.pl
index 376c7c02..671
As fstests covers more and more fs testing, so we always get help
from fs specific mailing list, due to they learn about their features
and bugs more. Besides that, some folks help to review patches
(relevant with them) more often.
So I'd like to bring in the similar way of linux/MAINTAINERS, reco
Some people contribute to someone specific fs testing mostly, record
some of them as Reviewer.
Signed-off-by: Zorro Lang
---
If someone doesn't want to be in cc list of related fstests patch, please
reply this email, I'll remove that reviewer line.
Or if someone else (who contribute to fstests
I think I might be mad to include that many mailing lists in this patchset...
As I explained in [PATCH 1/5], fstests covers more and more fs testing
thing, so we always get help from fs specific mailing list, due to they
learn about their features and bugs more. Besides that, some folks help
to re
The fstests supports different kind of fs testing, better to cc
specific fs mailing list for specific fs testing, to get better
reviewing points. So record these mailing lists and files related
with them in MAINTAINERS file.
Signed-off-by: Zorro Lang
---
If someone mailing list doesn't want to b
Darrick J. Wong would like to nominate Anand Jain to help more on
btrfs testing part (tests/btrfs and common/btrfs). He would like to
be a co-maintainer of btrfs part, will help to review and test
fstests btrfs related patches, and I might merge from him if there's
big patchset. So CC him besides s
On Tue, Apr 04, 2023 at 04:52:56PM +0200, Andrey Albershteyn wrote:
> Hi all,
>
> This is V2 of fs-verity support in XFS. In this series I did
> numerous changes from V1 which are described below.
>
> This patchset introduces fs-verity [5] support for XFS. This
> implementation utilizes extended
On Tue, Apr 04, 2023 at 04:53:17PM +0200, Andrey Albershteyn wrote:
> In case of different Merkle tree block size fs-verity expects
> ->read_merkle_tree_page() to return Merkle tree page filled with
> Merkle tree blocks. The XFS stores each merkle tree block under
> extended attribute. Those attrib
On Tue, Apr 04, 2023 at 04:53:16PM +0200, Andrey Albershteyn wrote:
> Add integration with fs-verity. The XFS store fs-verity metadata in
> the extended attributes. The metadata consist of verity descriptor
> and Merkle tree blocks.
>
> The descriptor is stored under "verity_descriptor" extended
>
On Tue, Apr 04, 2023 at 04:53:15PM +0200, Andrey Albershteyn wrote:
> The direct path is not supported on verity files. Attempts to use direct
> I/O path on such files should fall back to buffered I/O path.
>
> Signed-off-by: Andrey Albershteyn
> ---
> fs/xfs/xfs_file.c | 14 +++---
> 1
> if (iomap_block_needs_zeroing(iter, pos)) {
> folio_zero_range(folio, poff, plen);
> + if (iomap->flags & IOMAP_F_READ_VERITY) {
Wju do we need the new flag vs just testing that folio_ops and
folio_ops->verify_folio is non-NULL?
> - ctx->bio = bio_all
On Tue, Apr 04, 2023 at 04:53:04PM +0200, Andrey Albershteyn wrote:
> Make filesystems create readpage context, similar as
> iomap_writepage_ctx in write path. This will allow filesystem to
> pass _ops to iomap for ioend configuration (->prepare_ioend) which
> in turn would be used to set BIO end c
On Tue, Apr 04, 2023 at 04:53:01PM +0200, Andrey Albershteyn wrote:
> Not the whole folio always need to be verified by fs-verity (e.g.
> with 1k blocks). Use passed folio's offset and size.
Why can't those callers just call fsverity_verify_blocks directly?
__
With below case, it can mount multi-device image w/ rw option, however
one of secondary device is set as ro, later update will cause panic, so
let's introduce f2fs_dev_is_readonly(), and check multi-devices rw status
in f2fs_remount() w/ it in order to avoid such inconsistent mount status.
mkfs.f2
On 2023/4/4 1:59, Jaegeuk Kim wrote:
On 04/02, Chao Yu wrote:
This patch does below changes:
- If f2fs enables readonly feature or device is readonly, allow to
mount readonly mode only
- Introduce f2fs_dev_is_readonly() to indicate whether image or device
is readonly
- remove unnecessary f2fs_h
Add fs-verity ioctls to enable, dump metadata (descriptor and Merkle
tree pages) and obtain file's digest.
Signed-off-by: Andrey Albershteyn
---
fs/xfs/xfs_ioctl.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
index 3d6d680b6cf3..f
Finalize fs-verity integration in XFS by making kernel fs-verity
aware with ro-compat flag.
Signed-off-by: Andrey Albershteyn
---
fs/xfs/libxfs/xfs_format.h | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h
index
In case of different Merkle tree block size fs-verity expects
->read_merkle_tree_page() to return Merkle tree page filled with
Merkle tree blocks. The XFS stores each merkle tree block under
extended attribute. Those attributes are addressed by block offset
into Merkle tree.
This patch make ->read
Add integration with fs-verity. The XFS store fs-verity metadata in
the extended attributes. The metadata consist of verity descriptor
and Merkle tree blocks.
The descriptor is stored under "verity_descriptor" extended
attribute. The Merkle tree blocks are stored under binary indexes.
When fs-ver
The direct path is not supported on verity files. Attempts to use direct
I/O path on such files should fall back to buffered I/O path.
Signed-off-by: Andrey Albershteyn
---
fs/xfs/xfs_file.c | 14 +++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/fs/xfs/xfs_file.c b/f
fs-verity doesn't support DAX. Forbid filesystem to enable DAX on
inodes which already have fs-verity enabled. The opposite is checked
when fs-verity is enabled, it won't be enabled if DAX is.
Signed-off-by: Andrey Albershteyn
---
fs/xfs/xfs_iops.c | 2 ++
1 file changed, 2 insertions(+)
diff -
To mark inodes sealed with fs-verity the new XFS_DIFLAG2_VERITY flag
will be added in further patch. This requires ro-compat flag to let
older kernels know that fs with fs-verity can not be modified.
Signed-off-by: Andrey Albershteyn
---
fs/xfs/libxfs/xfs_format.h | 1 +
fs/xfs/libxfs/xfs_sb.c
Add flag to mark inodes which have fs-verity enabled on them (i.e.
descriptor exist and tree is built).
Signed-off-by: Andrey Albershteyn
---
fs/ioctl.c | 4
fs/xfs/libxfs/xfs_format.h | 4 +++-
fs/xfs/xfs_inode.c | 2 ++
fs/xfs/xfs_iops.c | 2 ++
include/ua
fs-verity will read and attach metadata (not the tree itself) from
a disk for those inodes which already have fs-verity enabled.
Signed-off-by: Andrey Albershteyn
---
fs/xfs/xfs_file.c | 8
fs/xfs/xfs_super.c | 2 ++
2 files changed, 10 insertions(+)
diff --git a/fs/xfs/xfs_file.c b/f
The read IO path provides callout for configuring ioend. This allows
filesystem to add verification of completed BIOs. The
xfs_prepare_read_ioend() configures bio->bi_end_io which places
verification task in the workqueue. The task does fs-verity
verification and then call back to the iomap to fini
The Merkle tree blocks and descriptor are stored in the extended
attributes of the inode. Add new attribute type for fs-verity
metadata. Add XFS_ATTR_INTERNAL_MASK to skip parent pointer and
fs-verity attributes as those are only for internal use. While we're
at it add a few comments in relevant pl
As noted by Dave there are two problems with using fs-verity's
workqueue in XFS:
1. High priority workqueues are used within XFS to ensure that data
IO completion cannot stall processing of journal IO completions.
Hence using a WQ_HIGHPRI workqueue directly in the user data IO
path is a p
The meaning of the flag is that value of the extended attribute in
the buffer was verified. The underlying pages have PageChecked() ==
false (the way fs-verity identifies verified pages), as page content
will be copied out to newly allocated pages in further patches.
The flag is being used later t
One of essential ideas of fs-verity is that pages which are already
verified won't need to be re-verified if they still in page cache.
The XFS stores Merkle tree blocks in extended attributes. Each
attribute has one Merkle tree block. We can not directly mark
underlying xfs_buf's pages as checked.
Make filesystems create readpage context, similar as
iomap_writepage_ctx in write path. This will allow filesystem to
pass _ops to iomap for ioend configuration (->prepare_ioend) which
in turn would be used to set BIO end callout (bio->bi_end_io).
This will be utilized in further patches by fs-ver
Add IOMAP_F_READ_VERITY which indicates that iomap need to
verify BIO (e.g. fs-verity) after I/O is completed.
Add iomap_readpage_ops with only optional ->prepare_ioend() to allow
filesystem to add callout used for configuring read path ioend.
Mainly for setting ->bi_end_io() callout. Add
iomap_fo
From: Allison Henderson
Add the new parent attribute type. XFS_ATTR_PARENT is used only for parent
pointer
entries; it uses reserved blocks like XFS_ATTR_ROOT.
Signed-off-by: Mark Tinguely
Signed-off-by: Dave Chinner
Signed-off-by: Allison Henderson
Reviewed-by: Darrick J. Wong
---
fs/xfs/
Allow filesystem to make additional processing on verified pages
instead of just dropping a reference. This will be used by XFS for
internal buffer cache manipulation in further patches. The btrfs,
ext4, and f2fs just drop the reference.
Signed-off-by: Andrey Albershteyn
---
fs/btrfs/verity.c
From: Allison Henderson
This patch adds two new fields to the atti/d. They are nname and
nnamelen. This will be used for parent pointer updates since a
rename operation may cause the parent pointer to update both the
name and value. So we need to carry both the new name as well as
the target n
Not the whole folio always need to be verified by fs-verity (e.g.
with 1k blocks). Use passed folio's offset and size.
Signed-off-by: Andrey Albershteyn
---
include/linux/fsverity.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/linux/fsverity.h b/include/linux/
From: Allison Henderson
Attribute names of parent pointers are not strings. So we need to modify
attr_namecheck to verify parent pointer records when the XFS_ATTR_PARENT flag is
set.
Signed-off-by: Allison Henderson
Reviewed-by: Darrick J. Wong
---
fs/xfs/libxfs/xfs_attr.c | 47
XFS will need to know size of Merkle tree block as these blocks
will not be stored consecutively in fs blocks but under indexes in
extended attributes.
Signed-off-by: Andrey Albershteyn
---
fs/btrfs/verity.c | 3 ++-
fs/ext4/verity.c | 3 ++-
fs/f2fs/verity.c | 3 ++-
f
From: Allison Henderson
We need to define the parent pointer attribute format before we start
adding support for it into all the code that needs to use it. The EA
format we will use encodes the following information:
name={parent inode #, parent inode generation, dirent offset}
v
Hi all,
This is V2 of fs-verity support in XFS. In this series I did
numerous changes from V1 which are described below.
This patchset introduces fs-verity [5] support for XFS. This
implementation utilizes extended attributes to store fs-verity
metadata. The Merkle tree blocks are stored in the r
It's deprecated since commit 377224c47118 ("f2fs: don't split checkpoint
in fstrim").
Signed-off-by: Yangtao Li
---
Documentation/ABI/testing/sysfs-fs-f2fs | 6 --
1 file changed, 6 deletions(-)
diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs
b/Documentation/ABI/testing/sysfs-fs-f2fs
kobject_put() actually covers kobject removal automatically, which is
single stage removal. So it is safe to kill kobject_del() directly.
Signed-off-by: Yangtao Li
---
fs/f2fs/sysfs.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index dfbd17802549..d571
Hello f2fs maintainers/developers,
This is a 30-day syzbot report for the f2fs subsystem.
All related reports/information can be found at:
https://syzkaller.appspot.com/upstream/s/f2fs
During the period, 0 new issues were detected and 0 were fixed.
In total, 16 issues are still open and 27 have b
> kobject_put() actually covers kobject removal automatically, which is
> single stage removal. So if you see the two called together, it is
> safe to kill kobject_del() directly.
If the reference count is not abnormal, kobject_put() does contain
what kobject_del() does.
Thx,
Yangtao
__
On 2023/4/4 12:00, Yangtao Li wrote:
There is only single instance of these ops, and Jaegeuk point out that:
Originally this was intended to give a chance to provide other
allocation option. Anyway, it seems quit hard to do it anymore.
So remove the indirection and call f2fs_get_victi
On 2023/4/4 2:13, Jaegeuk Kim wrote:
On 03/24, Chao Yu wrote:
In order to reclaim free blocks in prefree sections before latter use.
We were supposed to do checkpoint as is?
It seems commit 6f8d4455060d ("f2fs: avoid fi->i_gc_rwsem[WRITE] lock in
f2fs_gc")
changed that logic? It caused that
On 2023/4/4 11:48, Yangtao Li wrote:
Commit 3fde13f817e2 ("f2fs: compress: support compress level")
forgot to do basic compress level check, let's add it.
Signed-off-by: Yangtao Li
---
v2:
-convert to zstd_max_clevel()
fs/f2fs/inode.c | 96 ++---
1
Hi everyone,
I want to start a discussion on using f2fs for regular desktops/workstations.
There are growing number of interests in using f2fs as the general
root file-system:
2018: https://www.phoronix.com/news/GRUB-Now-Supports-F2FS
2020: https://www.phoronix.com/news/Clear-Linux-F2FS-Root-Opti
72 matches
Mail list logo