Re: [PATCH 5.10-6.1] ceph: give up on paths longer than PATH_MAX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ 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 Dryomov<idryomov@xxxxxxxxx>
Commit author: Max Kellermann<max.kellermann@xxxxxxxxx>


Status in newer kernel trees:
6.12.y | Present (different SHA1: 99a37ab76a31)
6.6.y | Present (different SHA1: 82dfe5074a06)
6.1.y | Not found

Note: The patch differs from the upstream commit:
---
1:  550f7ca98ee0 ! 1:  9c81f6f042e7 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@xxxxxxxxx>
         Reviewed-by: Alex Markuze <amarkuze@xxxxxxxxxx>
         Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx>
    +    [idryomov@xxxxxxxxx: backport to 6.1: 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 dentry *dentry, int *plen, u64 *pbase,
      
      	if (pos < 0) {
      		/*
    @@ 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 is %d\n", pos);
     -		goto retry;
     +		return ERR_PTR(-ENAMETOOLONG);
      	}
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.1.y        |  Success    |  Failed    |
| stable/linux-5.10.y       |  Success    |  Success   |

Build Errors:
Build error for stable/linux-6.1.y:
    bash: line 1: cd: /home/sasha/build/linus-next: No such file or directory




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux