[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231205055900.62855-1-zhangjiachen.jaycee@bytedance.com>
Date: Tue, 5 Dec 2023 13:58:57 +0800
From: Jiachen Zhang <zhangjiachen.jaycee@...edance.com>
To: Chandan Babu R <chandan.babu@...cle.com>,
"Darrick J. Wong" <djwong@...nel.org>
Cc: Dave Chinner <dchinner@...hat.com>,
Allison Henderson <allison.henderson@...cle.com>,
Zhang Tianci <zhangtianci.1997@...edance.com>,
Brian Foster <bfoster@...hat.com>, linux-xfs@...r.kernel.org,
linux-kernel@...r.kernel.org, xieyongji@...edance.com, me@...x.top,
Jiachen Zhang <zhangjiachen.jaycee@...edance.com>
Subject: [PATCH v4 0/3] Fixes for ENOSPC xfs_remove
Hi,
Recently, our use-case ran into 2 bugs in case doing xfs_remove when the
disk space is in-pressure, which may cause xfs shutdown and kernel crash
in the xfs log recovery procedure. Here are 2 patches to fix the
problem, and a patch adding a helper to optimize the code structure.
The 1st patch fixes an uninitialized variable issue.
The 2nd patch ensures the blkno in the xfs_buf is updated when doing
xfs_da3_swap_lastblock().
The 3rd patch adds a xfs_buf copy helper to optimize the code structure.
Changes of v2:
- directly set the *logflagsp value to make the code more robust in the
1st commit,
- check xfs's crc-feature rather than magic in the 2nd commit, and
- fixed code style and rebased onto the master branch.
Changes of v3:
- fix code style, and
- add a new patch which does xfs_buf memcpy in a helper.
Changes of v4:
- optimize comments.
Thanks,
Jiachen
Jiachen Zhang (1):
xfs: ensure logflagsp is initialized in xfs_bmap_del_extent_real
Zhang Tianci (2):
xfs: update dir3 leaf block metadata after swap
xfs: extract xfs_da_buf_copy() helper function
fs/xfs/libxfs/xfs_attr_leaf.c | 12 ++----
fs/xfs/libxfs/xfs_bmap.c | 73 +++++++++++++++--------------------
fs/xfs/libxfs/xfs_da_btree.c | 69 +++++++++++++++------------------
fs/xfs/libxfs/xfs_da_btree.h | 2 +
4 files changed, 68 insertions(+), 88 deletions(-)
--
2.20.1
Powered by blists - more mailing lists