[PATCH v2 0/2] ext4: mark FC as ineligible using an handle

Luis Henriques (SUSE) posted 2 patches 2 months ago
fs/ext4/fast_commit.c | 19 +++++++++++--------
fs/ext4/xattr.c       |  3 ++-
2 files changed, 13 insertions(+), 9 deletions(-)
[PATCH v2 0/2] ext4: mark FC as ineligible using an handle
Posted by Luis Henriques (SUSE) 2 months ago
Hi!

Changes since v1:
* only the second patch has been changed to drop the call to
  ext4_fc_mark_ineligible() in the error path.  Commit text has also been
  adjusted accordingly.

And here's the original cover-letter:

The following patches were suggested by Jan Kara[1] some time ago.  Basically,
they try to address a race that exists in several places, where function
ext4_fc_mark_ineligible() is called with a NULL handle: in these cases, marking
the filesystem as ineligible may effectively happen _after_ the fast-commit is
done.

There are several places where this happen, and the two patches that follow try
to address some of them.  The first patch fixes the calls that exist in
__track_dentry_update().

The second patch _partially_ fixes the call in ext4_xattr_set() -- this is
because it may fail to obtain an handle.  And, to be honest, I'm not sure what
to do in this case: try again to obtain a new handle just for marking the fc,
with a lower value for credits? or leave it as-is, with the NULL?

The other two missing callers are the ioctl for filesystem resize and
ext4_evict_inode().

[1] https://lore.kernel.org/all/20240724101504.e2t4pvgw6td7rrmm@quack3/


Luis Henriques (SUSE) (2):
  ext4: use handle to mark fc as ineligible in __track_dentry_update()
  ext4: mark fc as ineligible using an handle in ext4_xattr_set()

 fs/ext4/fast_commit.c | 19 +++++++++++--------
 fs/ext4/xattr.c       |  3 ++-
 2 files changed, 13 insertions(+), 9 deletions(-)
Re: [PATCH v2 0/2] ext4: mark FC as ineligible using an handle
Posted by Theodore Ts'o 1 month, 3 weeks ago
On Mon, 23 Sep 2024 11:49:07 +0100, Luis Henriques (SUSE) wrote:
> Changes since v1:
> * only the second patch has been changed to drop the call to
>   ext4_fc_mark_ineligible() in the error path.  Commit text has also been
>   adjusted accordingly.
> 
> And here's the original cover-letter:
> 
> [...]

Applied, thanks!

[1/2] ext4: use handle to mark fc as ineligible in __track_dentry_update()
      commit: faab35a0370fd6e0821c7a8dd213492946fc776f
[2/2] ext4: mark fc as ineligible using an handle in ext4_xattr_set()
      commit: 04e6ce8f06d161399e5afde3df5dcfa9455b4952

Best regards,
-- 
Theodore Ts'o <tytso@mit.edu>