Fix shmem_rename2 directory offset calculation
Status from this message: Applied to the vfs.misc branch of the vfs/vfs.git tree.
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest3 patches 2 repliesApplied
- v12 patches 2 repliesSuperseded
Changes in v2 from the cover letter
- Patches reorganized for easier review and backport
- Passes git regression and fstests (with scratch device)
- Dropped the API clean-up patch for now
Patches in v2 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | libfs: Fix simple_offset_rename_exchange()fs/ | +19 | 0 replies | |
| 2/3 | libfs: Add simple_offset_rename() APIfs/ include/ mm/ | +24 | 0 replies | |
| 3/3 | shmem: Fix shmem_rename2()fs/ | +9 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [PATCH v2 0/3] Fix shmem_rename2 directory offset calculation
From: Chuck Lever <[email protected]>
The existing code in shmem_rename2() allocates a fresh directory offset value when renaming over an existing destination entry. User space does not expect this behavior. In particular, applications that rename while walking a directory can loop indefinitely because they never reach the end of the directory.
The only test that is problematic at the moment is generic/449, which live-locks (interruptibly). I don't have a baseline yet, so I can't say whether the fix introduces this behavior or pre-dates the shmem conversion to simple_offset.
--
Changes since v1:
- Patches reorganized for easier review and backport
- Passes git regression and fstests (with scratch device)
- Dropped the API clean-up patch for now
Chuck Lever (3):
libfs: Fix simple_offset_rename_exchange()
libfs: Add simple_offset_rename() API
shmem: Fix shmem_rename2()
fs/libfs.c | 55 +++++++++++++++++++++++++++++++++++++++++----- include/linux/fs.h | 2 ++ mm/shmem.c | 3 +-- 3 files changed, 52 insertions(+), 8 deletions(-)
base-commit: fec50db7033ea478773b159e0e2efb135270e3b7
Signature · 1 line
2.44.0