Re: [PATCH] ceph: parallelize object copy in ceph_do_objects_copy()
Xiubo Li <[email protected]>
| Newsgroups | org.kernel.vger.ceph-devel |
|---|---|
| Message-ID | <CAOJNxRLRGqUnE+TpecHMr-pc3i2iZq=tqG20Zqjapkmn2h8xeQ@mail.gmail.com> |
Hi Alex, Thanks for the feedback. You are right, those are good points. Let me fix them and send the V2. Thanks - Xiubo On Thu, 13 Aug 2026 at 05:09, Alex Markuze <[email protected]> wrote: > > Hi Xiubo, > > Thanks for the patch, the idea is sound but there are a few correctness > issues that need fixing: > > The drain loop walks past the valid window on error — it dereferences > request pointers beyond the tail of the in-flight window, which are > either freed or uninitialized depending on where the failure occurred. > > The window size is read from copyfrom_max_inflight on every iteration. > A concurrent sysfs write can change it mid-flight, causing the loop > bounds to shift while requests are already in-flight. > > If a request allocation fails partway through, the error return masks > any I/O errors that were already recorded for earlier in-flight > requests. > > There's also a design issue for mid-file copies: parallel writes can > modify the destination beyond the position implied by a short source > count before the short is detected. > > Could you respin with these fixed? > > -- > Alex Markuze >