Skip to content

ext4: mark FC as ineligible using an handle

Luis Henriques (SUSE) linux-ext4 lkml 2 versions – Applied

Status from this message: Applied, thanks!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 3 repliesApplied
  2. v12 patches 3 repliesSuperseded

Changes in v2 from the cover letter

* 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.

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/2ext4: use handle to mark fc as ineligible in __track_dentry_update()fs/ext4/fast_commit.c+11 -81 reply
2/2ext4: mark fc as ineligible using an handle in ext4_xattr_set()fs/ext4/xattr.c+2 -11 reply

Reviews trailers per patch

All 2 patches have a Reviewed-by or Acked-by.

PatchJan Kara
1/2R-b
2/2R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

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

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(-)