From afb589a69b1110aeaf8e24fa7650a6813cbe3f57 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 18 Mar 2024 16:18:35 +0100 Subject: fix: ensure nested mount points are handled in the correct order Signed-off-by: Robin Appelman --- lib/private/Files/View.php | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lib/private/Files/View.php') diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php index 36d7002a269..5ad48e26cc5 100644 --- a/lib/private/Files/View.php +++ b/lib/private/Files/View.php @@ -1481,6 +1481,13 @@ class View { //add a folder for any mountpoint in this directory and add the sizes of other mountpoints to the folders $mounts = Filesystem::getMountManager()->findIn($path); + + // make sure nested mounts are sorted after their parent mounts + // otherwise doesn't propagate the etag across storage boundaries correctly + usort($mounts, function (IMountPoint $a, IMountPoint $b) { + return $a->getMountPoint() <=> $b->getMountPoint(); + }); + $dirLength = strlen($path); foreach ($mounts as $mount) { $mountPoint = $mount->getMountPoint(); -- cgit v1.2.3