The Pedigree Project 0.1
Public Member Functions | Public Attributes | List of all members
VfsMountView::State Struct Reference
+ Collaboration diagram for VfsMountView::State:

Public Member Functions

 State (VfsMountView &owner)
 
VfsAttachmentRow * find (uint64_t id) const
 
VfsAttachmentRow * at (const VfsPath &path) const
 
bool snapshotRows (Vector< VfsAttachmentRow > &result)
 
bool contains (const FilesystemPathRef &path) const
 
VfsPath * nodePath (const FilesystemPathRef &reference) const
 
VfsPath * path (const FilesystemPathRef &reference) const
 
bool makePath (const VfsAttachmentRef &attachment, File *node, FilesystemPathRef &result)
 
bool makePath (const VfsAttachmentRef &attachment, VfsNodeReference &&node, FilesystemPathRef &result)
 
bool makeAttachment (const VfsBackingRef &backing, File *root, uint64_t flags, VfsAttachmentRef &result)
 
bool ancestors (const FilesystemPathRef &path, Vector< FilesystemPathRef > &result)
 
bool context (const FilesystemContextRef &reference, VfsFilesystemContext *&result) const
 
bool createContext (const VfsFilesystemContext *parent, FilesystemContextOwner &result)
 
bool cross (const FilesystemPathRef &path, FilesystemPathRef &result)
 
bool parent (const FilesystemPathRef &path, FilesystemPathRef &result, const FilesystemPathRef &boundary=FilesystemPathRef())
 
bool beneath (const FilesystemPathRef &descendant, const FilesystemPathRef &ancestor)
 
bool format (const FilesystemContextSnapshot &context, const FilesystemPathRef &path, String &result, const VFS::NamespaceMutation &writer)
 
bool resolve (const FilesystemContextSnapshot &context, const FilesystemPathRef &start, const String &pathname, const ResolveOptions &options, FilesystemPathRef &result, const VFS::NamespaceMutation *writer=nullptr)
 
bool follow (const FilesystemContextSnapshot &context, const FilesystemPathRef &selected, const ResolveOptions &options, FilesystemPathRef &result, size_t &links)
 
bool walk (const FilesystemContextSnapshot &context, const FilesystemPathRef &start, const String &pathname, const ResolveOptions &options, FilesystemPathRef &result, size_t &links)
 
bool attach (const FilesystemPathRef &covered, VFS::FilesystemPin &&pin, const VFS::NamespaceMutation &writer, BackingOwnership ownership, uint64_t flags)
 
void reapDetached ()
 

Public Attributes

VfsMountView & view
 
Mutex graph
 
Atomic< size_t > anonymousPaths {0}
 
VfsAttachmentRow * attachments = nullptr
 
VfsContextRow * contexts = nullptr
 
size_t contextCount = 0
 
uint64_t topology = 1
 
uint64_t rootId = 0
 
uint64_t nextId = 1
 

Detailed Description

Definition at line 116 of file MountView-internal.h.

Constructor & Destructor Documentation

◆ State()

VfsMountView::State::State ( VfsMountView &  owner)
inlineexplicit

Definition at line 117 of file MountView-internal.h.

◆ ~State()

VfsMountView::State::~State ( )

Definition at line 132 of file MountView.cc.

Member Function Documentation

◆ ancestors()

bool VfsMountView::State::ancestors ( const FilesystemPathRef &  path,
Vector< FilesystemPathRef > &  result 
)

Definition at line 46 of file MountView-access.cc.

◆ at()

VfsAttachmentRow * VfsMountView::State::at ( const VfsPath &  path) const

Definition at line 152 of file MountView.cc.

◆ attach()

bool VfsMountView::State::attach ( const FilesystemPathRef &  covered,
VFS::FilesystemPin &&  pin,
const VFS::NamespaceMutation &  writer,
BackingOwnership  ownership,
uint64_t  flags 
)

Definition at line 270 of file MountView-mounts.cc.

◆ beneath()

bool VfsMountView::State::beneath ( const FilesystemPathRef &  descendant,
const FilesystemPathRef &  ancestor 
)

Definition at line 122 of file MountView-path.cc.

◆ contains()

bool VfsMountView::State::contains ( const FilesystemPathRef &  path) const

Definition at line 184 of file MountView.cc.

◆ context()

bool VfsMountView::State::context ( const FilesystemContextRef &  reference,
VfsFilesystemContext *&  result 
) const

Definition at line 199 of file MountView.cc.

◆ createContext()

bool VfsMountView::State::createContext ( const VfsFilesystemContext *  parent,
FilesystemContextOwner &  result 
)

Definition at line 416 of file MountView.cc.

◆ cross()

bool VfsMountView::State::cross ( const FilesystemPathRef &  path,
FilesystemPathRef &  result 
)

Definition at line 43 of file MountView-path.cc.

◆ find()

VfsAttachmentRow * VfsMountView::State::find ( uint64_t  id) const

Definition at line 146 of file MountView.cc.

◆ follow()

bool VfsMountView::State::follow ( const FilesystemContextSnapshot &  context,
const FilesystemPathRef &  selected,
const ResolveOptions &  options,
FilesystemPathRef &  result,
size_t &  links 
)

Definition at line 137 of file MountView-path.cc.

◆ format()

bool VfsMountView::State::format ( const FilesystemContextSnapshot &  context,
const FilesystemPathRef &  path,
String &  result,
const VFS::NamespaceMutation &  writer 
)

Definition at line 6 of file MountView-report.cc.

◆ makeAttachment()

bool VfsMountView::State::makeAttachment ( const VfsBackingRef &  backing,
File *  root,
uint64_t  flags,
VfsAttachmentRef &  result 
)

Definition at line 219 of file MountView.cc.

◆ makePath() [1/2]

bool VfsMountView::State::makePath ( const VfsAttachmentRef &  attachment,
File *  node,
FilesystemPathRef &  result 
)

Definition at line 209 of file MountView.cc.

◆ makePath() [2/2]

bool VfsMountView::State::makePath ( const VfsAttachmentRef &  attachment,
VfsNodeReference &&  node,
FilesystemPathRef &  result 
)

Definition at line 336 of file MountView.cc.

◆ nodePath()

VfsPath * VfsMountView::State::nodePath ( const FilesystemPathRef &  reference) const

Definition at line 174 of file MountView.cc.

◆ parent()

bool VfsMountView::State::parent ( const FilesystemPathRef &  path,
FilesystemPathRef &  result,
const FilesystemPathRef &  boundary = FilesystemPathRef() 
)

Definition at line 74 of file MountView-path.cc.

◆ path()

VfsPath * VfsMountView::State::path ( const FilesystemPathRef &  reference) const

Definition at line 180 of file MountView.cc.

◆ reapDetached()

void VfsMountView::State::reapDetached ( )

Definition at line 367 of file MountView-mounts.cc.

◆ resolve()

bool VfsMountView::State::resolve ( const FilesystemContextSnapshot &  context,
const FilesystemPathRef &  start,
const String &  pathname,
const ResolveOptions &  options,
FilesystemPathRef &  result,
const VFS::NamespaceMutation *  writer = nullptr 
)

Definition at line 318 of file MountView-path.cc.

◆ snapshotRows()

bool VfsMountView::State::snapshotRows ( Vector< VfsAttachmentRow > &  result)

Definition at line 159 of file MountView.cc.

◆ walk()

bool VfsMountView::State::walk ( const FilesystemContextSnapshot &  context,
const FilesystemPathRef &  start,
const String &  pathname,
const ResolveOptions &  options,
FilesystemPathRef &  result,
size_t &  links 
)

Definition at line 144 of file MountView-path.cc.

Member Data Documentation

◆ anonymousPaths

Atomic<size_t> VfsMountView::State::anonymousPaths {0}

Definition at line 121 of file MountView-internal.h.

◆ attachments

VfsAttachmentRow* VfsMountView::State::attachments = nullptr

Definition at line 122 of file MountView-internal.h.

◆ contextCount

size_t VfsMountView::State::contextCount = 0

Definition at line 124 of file MountView-internal.h.

◆ contexts

VfsContextRow* VfsMountView::State::contexts = nullptr

Definition at line 123 of file MountView-internal.h.

◆ graph

Mutex VfsMountView::State::graph

Definition at line 120 of file MountView-internal.h.

◆ nextId

uint64_t VfsMountView::State::nextId = 1

Definition at line 127 of file MountView-internal.h.

◆ rootId

uint64_t VfsMountView::State::rootId = 0

Definition at line 126 of file MountView-internal.h.

◆ topology

uint64_t VfsMountView::State::topology = 1

Definition at line 125 of file MountView-internal.h.

◆ view

VfsMountView& VfsMountView::State::view

Definition at line 119 of file MountView-internal.h.


The documentation for this struct was generated from the following files: