class F2fs

Defined at line 40 of file ../../src/storage/f2fs/f2fs.h

Public Methods

zx_status_t GetMetaPage (pgoff_t index, LockedPage * out)

Defined at line 28 of file ../../src/storage/f2fs/checkpoint.cc

void F2fs (const F2fs & )

Not copyable or moveable

Defined at line 43 of file ../../src/storage/f2fs/f2fs.h

F2fs & operator= (const F2fs & )

Defined at line 44 of file ../../src/storage/f2fs/f2fs.h

void F2fs (F2fs && )

Defined at line 45 of file ../../src/storage/f2fs/f2fs.h

F2fs & operator= (F2fs && )

Defined at line 46 of file ../../src/storage/f2fs/f2fs.h

InspectTree & GetInspectTree ()

Defined at line 56 of file ../../src/storage/f2fs/f2fs.h

VnodeCache & GetVCache ()

Defined at line 62 of file ../../src/storage/f2fs/f2fs.h

BcacheMapper & GetBc ()

Defined at line 66 of file ../../src/storage/f2fs/f2fs.h

SuperblockInfo & GetSuperblockInfo ()

Defined at line 70 of file ../../src/storage/f2fs/f2fs.h

SegmentManager & GetSegmentManager ()

Defined at line 74 of file ../../src/storage/f2fs/f2fs.h

NodeManager & GetNodeManager ()

Defined at line 78 of file ../../src/storage/f2fs/f2fs.h

Writer & GetWriter ()

Defined at line 82 of file ../../src/storage/f2fs/f2fs.h

PlatformVfs * vfs ()

Defined at line 83 of file ../../src/storage/f2fs/f2fs.h

void F2fs (FuchsiaDispatcher dispatcher, std::unique_ptr<f2fs::BcacheMapper> bc, const MountOptions & mount_options, PlatformVfs * vfs)

Defined at line 135 of file ../../src/storage/f2fs/f2fs.cc

VnodeF2fs & GetNodeVnode ()

Defined at line 143 of file ../../src/storage/f2fs/f2fs.h

VnodeF2fs & GetMetaVnode ()

Defined at line 144 of file ../../src/storage/f2fs/f2fs.h

zx::result<fbl::RefPtr<VnodeF2fs>> GetRootVnode ()

Defined at line 145 of file ../../src/storage/f2fs/f2fs.h

zx::result<std::unique_ptr<F2fs>> Create (FuchsiaDispatcher dispatcher, std::unique_ptr<f2fs::BcacheMapper> bc, const MountOptions & options, PlatformVfs * vfs)

Defined at line 155 of file ../../src/storage/f2fs/f2fs.cc

bool IsOnRecovery ()

Defined at line 171 of file ../../src/storage/f2fs/f2fs.h

void SetOnRecovery ()

Defined at line 172 of file ../../src/storage/f2fs/f2fs.h

void ClearOnRecovery ()

Defined at line 173 of file ../../src/storage/f2fs/f2fs.h

size_t GetGcRuns ()

for tests

Defined at line 184 of file ../../src/storage/f2fs/f2fs.h

zx::result<fs::FilesystemInfo> GetFilesystemInfo ()

Defined at line 184 of file ../../src/storage/f2fs/f2fs.cc

void SetVfsForTests (std::unique_ptr<PlatformVfs> vfs)

Defined at line 186 of file ../../src/storage/f2fs/f2fs.h

zx::result<std::unique_ptr<PlatformVfs>> TakeVfsForTests ()

Defined at line 187 of file ../../src/storage/f2fs/f2fs.h

void SetMemoryPressure (MemoryPressure level)

Defined at line 193 of file ../../src/storage/f2fs/f2fs.h

zx::result<fbl::RefPtr<VnodeF2fs>> GetVnode (ino_t ino, LockedPage * inode_page)

Defined at line 566 of file ../../src/storage/f2fs/f2fs.cc

zx::result<fbl::RefPtr<VnodeF2fs>> CreateNewVnode (umode_t mode, std::optional<gid_t> gid)

Defined at line 622 of file ../../src/storage/f2fs/f2fs.cc

zx::result<std::unique_ptr<f2fs::BcacheMapper>> TakeBc ()

Defined at line 249 of file ../../src/storage/f2fs/f2fs.h

zx_status_t LoadSuper (std::unique_ptr<Superblock> sb)

Defined at line 462 of file ../../src/storage/f2fs/f2fs.cc

void Reset ()

Defined at line 449 of file ../../src/storage/f2fs/f2fs.cc

zx_status_t GrabMetaPage (pgoff_t index, LockedPage * out)

Defined at line 17 of file ../../src/storage/f2fs/checkpoint.cc

bool IsTearDown ()

Release-acquire ordering between the writeback (loader) and others such as checkpoint and gc.

Defined at line 492 of file ../../src/storage/f2fs/checkpoint.cc

void SetTearDown ()

Defined at line 493 of file ../../src/storage/f2fs/checkpoint.cc

zx_status_t CheckOrphanSpace ()

Defined at line 68 of file ../../src/storage/f2fs/checkpoint.cc

zx::result<> PurgeOrphanInode (nid_t ino)

Defined at line 83 of file ../../src/storage/f2fs/checkpoint.cc

int PurgeOrphanInodes ()

Defined at line 93 of file ../../src/storage/f2fs/checkpoint.cc

void WriteOrphanInodes (block_t start_blk)

Defined at line 133 of file ../../src/storage/f2fs/checkpoint.cc

zx_status_t GetValidCheckpoint ()

Defined at line 211 of file ../../src/storage/f2fs/checkpoint.cc

zx_status_t ValidateCheckpoint (block_t cp_addr, uint64_t * version, LockedPage * out)

Defined at line 171 of file ../../src/storage/f2fs/checkpoint.cc

void PutSuper ()

Defined at line 272 of file ../../src/storage/f2fs/f2fs.cc

void Sync (SyncCallback closure)

Defined at line 177 of file ../../src/storage/f2fs/f2fs.cc

zx_status_t SyncFs (bool bShutdown)

Defined at line 327 of file ../../src/storage/f2fs/f2fs.cc

zx_status_t SyncFsUnsafe (bool bShutdown)

Defined at line 331 of file ../../src/storage/f2fs/f2fs.cc

zx_status_t DoCheckpoint (bool is_umount)

Defined at line 347 of file ../../src/storage/f2fs/checkpoint.cc

zx_status_t WriteCheckpoint (bool is_umount)

We guarantee that this checkpoint procedure should not fail.

Defined at line 496 of file ../../src/storage/f2fs/checkpoint.cc

zx_status_t WriteCheckpointUnsafe (bool is_umount)

Defined at line 501 of file ../../src/storage/f2fs/checkpoint.cc

FsyncInodeEntry * GetFsyncInode (FsyncInodeList & inode_list, nid_t ino)

Defined at line 16 of file ../../src/storage/f2fs/recovery.cc

zx_status_t RecoverDentry (NodePage & ipage, VnodeF2fs & vnode)
zx::result<FsyncInodeList> FindFsyncDnodes ()

Defined at line 24 of file ../../src/storage/f2fs/recovery.cc

zx::result<> CheckIndexInPrevNodes (block_t blkaddr)

Defined at line 116 of file ../../src/storage/f2fs/recovery.cc

void DoRecoverData (VnodeF2fs & vnode, NodePage & page)

Defined at line 178 of file ../../src/storage/f2fs/recovery.cc

void RecoverData (FsyncInodeList & inode_list)

Defined at line 260 of file ../../src/storage/f2fs/recovery.cc

void RecoverFsyncData ()

Defined at line 294 of file ../../src/storage/f2fs/recovery.cc

zx::result<> MakeReadOperations (std::vector<LockedPage> & pages, std::vector<block_t> & addrs, PageType type, bool is_sync)

Defined at line 254 of file ../../src/storage/f2fs/f2fs.cc

zx::result<> MakeReadOperation (LockedPage & page, block_t blk_addr, PageType type, bool is_sync)

Fill the locked page with data located in the block address.

Defined at line 224 of file ../../src/storage/f2fs/f2fs.cc

zx::result<> MakeReadOperations (zx::vmo & vmo, std::vector<block_t> & addrs, PageType type, bool is_sync)

Defined at line 240 of file ../../src/storage/f2fs/f2fs.cc

zx_status_t MakeTrimOperation (block_t blk_addr, block_t nblocks)

Defined at line 268 of file ../../src/storage/f2fs/f2fs.cc

void ScheduleWritebackAndReclaimPages ()

Defined at line 283 of file ../../src/storage/f2fs/f2fs.cc

zx::result<uint32_t> StartGc (uint32_t needed)

Defined at line 709 of file ../../src/storage/f2fs/f2fs.cc

void BalanceFs (uint32_t needed)

It checks if there are enough sections to write |needed| data blocks and a checkpoint pack.

Since it considers space for dirty dir and node pages, |needed| should indicate only data

blocks. If there is not enough space, it does GC or checkpoint writes to secure free or

dirty sections. In addition, it waits for memory reclaim under high memory pressure.

Defined at line 683 of file ../../src/storage/f2fs/f2fs.cc

void AllocateFreeSections (uint32_t needed)

Defined at line 696 of file ../../src/storage/f2fs/f2fs.cc

bool GetMemoryStatus (MemoryStatus action)

Defined at line 640 of file ../../src/storage/f2fs/f2fs.cc

void WaitForAvailableMemory ()

Defined at line 665 of file ../../src/storage/f2fs/f2fs.cc

void AddToVnodeSet (VnodeSet type, nid_t ino)

Defined at line 516 of file ../../src/storage/f2fs/f2fs.cc

void RemoveFromVnodeSet (VnodeSet type, nid_t ino)

Defined at line 526 of file ../../src/storage/f2fs/f2fs.cc

bool FindVnodeSet (VnodeSet type, nid_t ino)

Defined at line 536 of file ../../src/storage/f2fs/f2fs.cc

size_t GetVnodeSetSize (VnodeSet type)

Defined at line 545 of file ../../src/storage/f2fs/f2fs.cc

void ForAllVnodeSet (VnodeSet type, fit::function<void (nid_t)> callback)

Defined at line 549 of file ../../src/storage/f2fs/f2fs.cc

void ClearVnodeSet ()

Defined at line 558 of file ../../src/storage/f2fs/f2fs.cc

bool IsValid ()

Defined at line 204 of file ../../src/storage/f2fs/f2fs.cc

Records