Clone dir attr for tmpfs in advance

This commit is contained in:
LoveSy 2023-12-11 10:51:02 +08:00 committed by John Wu
parent e35925d520
commit 98861f0b5a

View File

@ -169,10 +169,10 @@ void tmpfs_node::mount() {
auto worker_dir = worker_path(); auto worker_dir = worker_path();
mkdirs(worker_dir.data(), 0); mkdirs(worker_dir.data(), 0);
bind_mount("tmpfs", worker_dir.data(), worker_dir.data()); bind_mount("tmpfs", worker_dir.data(), worker_dir.data());
clone_attr(src_path ?: parent()->node_path().data(), worker_dir.data());
dir_node::mount(); dir_node::mount();
VLOGD(skip_mirror() ? "replace" : "move", worker_dir.data(), dest.data()); VLOGD(skip_mirror() ? "replace" : "move", worker_dir.data(), dest.data());
xmount(worker_dir.data(), dest.data(), nullptr, MS_MOVE, nullptr); xmount(worker_dir.data(), dest.data(), nullptr, MS_MOVE, nullptr);
clone_attr(src_path ?: parent()->node_path().data(), dest.data());
} else { } else {
const string dest = worker_path(); const string dest = worker_path();
// We don't need another layer of tmpfs if parent is tmpfs // We don't need another layer of tmpfs if parent is tmpfs