20 bool followFinal =
true;
21 bool requireDirectory =
false;
22 bool crossFinalMount =
true;
26 uint64_t parentId = 0;
32 enum MountFlags : uint64_t { ReadOnly = 1, NoSuid = 2, NoDev = 4, NoExec = 8 };
33 static constexpr uint64_t SupportedMountFlags = ReadOnly | NoSuid | NoDev | NoExec;
55 uint64_t ownerNamespace = 0);
56 uint64_t ownerNamespace()
const {
57 return m_OwnerNamespace;
71 enum class BackingOwnership { External, Attachment };
75 Filesystem* backing, BackingOwnership ownership = BackingOwnership::External,
80 bool recursive =
false);
84 bool detachBackingForShutdown(
Filesystem* backing);
85 bool detachBackingForRemoval(
Filesystem* backing);
89 bool isMountpoint(
File* node)
const;
98 bool sourceMustBeDirectory =
false);
119#if HOSTED && PEDIGREE_HOSTED_SMOKE_TESTS
120 bool quiescentForHostedTest()
const;
129 size_t m_References = 1;
130 bool m_Automatic =
false;
131 uint64_t m_OwnerNamespace = 0;