[ Sasha's backport helper bot ]
Hi,
The upstream commit SHA1 provided is correct: 550f7ca98ee028a606aa75705a7e77b1bd11720f
WARNING: Author mismatch between patch and upstream commit: Backport author: Ilya Dryomovidryomov@gmail.com Commit author: Max Kellermannmax.kellermann@ionos.com
Status in newer kernel trees: 6.12.y | Present (different SHA1: 99a37ab76a31) 6.6.y | Present (different SHA1: 82dfe5074a06)
Note: The patch differs from the upstream commit: --- 1: 550f7ca98ee0 ! 1: 092e42aac21a ceph: give up on paths longer than PATH_MAX @@ Metadata ## Commit message ## ceph: give up on paths longer than PATH_MAX
+ commit 550f7ca98ee028a606aa75705a7e77b1bd11720f upstream. + If the full path to be built by ceph_mdsc_build_path() happens to be longer than PATH_MAX, then this function will enter an endless (retry) loop, effectively blocking the whole task. Most of the machine @@ Commit message Signed-off-by: Max Kellermann max.kellermann@ionos.com Reviewed-by: Alex Markuze amarkuze@redhat.com Signed-off-by: Ilya Dryomov idryomov@gmail.com + [idryomov@gmail.com: backport to 6.6: pr_warn() is still in use]
## fs/ceph/mds_client.c ## @@ fs/ceph/mds_client.c: char *ceph_mdsc_build_path(struct ceph_mds_client *mdsc, struct dentry *dentry, @@ fs/ceph/mds_client.c: char *ceph_mdsc_build_path(struct ceph_mds_client *mdsc, s + * cannot ever succeed. Creating paths that long is + * possible with Ceph, but Linux cannot use them. */ -- pr_warn_client(cl, "did not end path lookup where expected (pos = %d)\n", -- pos); +- pr_warn("build_path did not end path lookup where expected (pos = %d)\n", +- pos); - goto retry; + return ERR_PTR(-ENAMETOOLONG); } ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.6.y | Success | Success |