On Sat, Aug 16, 2025 at 12:34:14AM +0100, Al Viro wrote: > In case when we mounting something on top of a large stack of overmounts, > all of them being peers of each other, we get quadratic time by the > depth of overmount stack. Easily fixed by doing commit_tree() before > reparenting the overmount; simplifies commit_tree() as well - it doesn't > need to skip the already mounted stuff that had been reparented on top > of the new mounts. > > Since we are holding mount_lock through both reparenting and call of > commit_tree(), the order does not matter from the mount hash point > of view. > > Reported-by: "Lai, Yi" <yi1.lai@xxxxxxxxxxxxxxx> > Tested-by: "Lai, Yi" <yi1.lai@xxxxxxxxxxxxxxx> > Fixes: 663206854f02 "copy_tree(): don't link the mounts via mnt_list" > Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > --- Reviewed-by: Christian Brauner <brauner@xxxxxxxxxx>