class F2fs

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

Public Methods

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

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

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

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

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

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

Defined at line 122 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

zx_status_t GetMetaPage (pgoff_t index, LockedPage * out)

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

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

zx_status_t CheckOrphanSpace ()

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

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

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 128 of file ../../src/storage/f2fs/checkpoint.cc

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

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

void Sync (SyncCallback closure)

Defined at line 115 of file ../../src/storage/f2fs/f2fs.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

void CheckIndexInPrevNodes (block_t blkaddr)

Defined at line 116 of file ../../src/storage/f2fs/recovery.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

void DoRecoverData (VnodeF2fs & vnode, NodePage & page)

Defined at line 161 of file ../../src/storage/f2fs/recovery.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 162 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

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

Defined at line 192 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 178 of file ../../src/storage/f2fs/f2fs.cc

bool IsValid ()

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

size_t GetGcRuns ()

for tests

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

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 504 of file ../../src/storage/f2fs/f2fs.cc

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

Defined at line 555 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 400 of file ../../src/storage/f2fs/f2fs.cc

void Reset ()

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

bool IsTearDown ()

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

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

void SetTearDown ()

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

zx_status_t GetValidCheckpoint ()

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

void PutSuper ()

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

zx_status_t SyncFs (bool bShutdown)

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

zx_status_t SyncFsUnsafe (bool bShutdown)

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

zx_status_t DoCheckpoint (bool is_umount)

Defined at line 338 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 485 of file ../../src/storage/f2fs/checkpoint.cc

zx_status_t WriteCheckpointUnsafe (bool is_umount)

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

void RecoverData (FsyncInodeList & inode_list)

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

void RecoverFsyncData ()

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

zx_status_t MakeTrimOperation (block_t blk_addr, block_t nblocks)

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

void ScheduleWritebackAndReclaimPages ()

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

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

Defined at line 642 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 616 of file ../../src/storage/f2fs/f2fs.cc

void AllocateFreeSections (uint32_t needed)

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

bool GetMemoryStatus (MemoryStatus action)

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

void WaitForAvailableMemory ()

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

void AddToVnodeSet (VnodeSet type, nid_t ino)

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

void RemoveFromVnodeSet (VnodeSet type, nid_t ino)

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

bool FindVnodeSet (VnodeSet type, nid_t ino)

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

size_t GetVnodeSetSize (VnodeSet type)

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

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

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

void ClearVnodeSet ()

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

Records