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 (FuchsiaDispatcherdispatcher,std::unique_ptr<f2fs::BcacheMapper>bc,const MountOptions &mount_options,PlatformVfs *vfs)
Defined at line 91 of file ../../src/storage/f2fs/f2fs.cc
zx::result<std::unique_ptr<F2fs>> Create (FuchsiaDispatcherdispatcher,std::unique_ptr<f2fs::BcacheMapper>bc,const MountOptions &options,PlatformVfs *vfs)
Defined at line 111 of file ../../src/storage/f2fs/f2fs.cc
zx::result<fs::FilesystemInfo> GetFilesystemInfo ()
Defined at line 140 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
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<fbl::RefPtr<VnodeF2fs>> GetVnode (ino_t ino, LockedPage * inode_page)
Defined at line 522 of file ../../src/storage/f2fs/f2fs.cc
zx::result<fbl::RefPtr<VnodeF2fs>> CreateNewVnode (umode_t mode, std::optional<gid_t> gid)
Defined at line 573 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 418 of file ../../src/storage/f2fs/f2fs.cc
void Reset ()
Defined at line 405 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 481 of file ../../src/storage/f2fs/checkpoint.cc
void SetTearDown ()
Defined at line 482 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 128 of file ../../src/storage/f2fs/checkpoint.cc
zx_status_t GetValidCheckpoint ()
Defined at line 202 of file ../../src/storage/f2fs/checkpoint.cc
zx_status_t ValidateCheckpoint (block_tcp_addr,uint64_t *version,LockedPage *out)
Defined at line 166 of file ../../src/storage/f2fs/checkpoint.cc
void PutSuper ()
Defined at line 228 of file ../../src/storage/f2fs/f2fs.cc
void Sync (SyncCallback closure)
Defined at line 133 of file ../../src/storage/f2fs/f2fs.cc
zx_status_t SyncFs (bool bShutdown)
Defined at line 283 of file ../../src/storage/f2fs/f2fs.cc
zx_status_t SyncFsUnsafe (bool bShutdown)
Defined at line 287 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
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
void DoRecoverData (VnodeF2fs & vnode, NodePage & page)
Defined at line 161 of file ../../src/storage/f2fs/recovery.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::result<> MakeReadOperations (std::vector<LockedPage> &pages,std::vector<block_t> &addrs,PageTypetype,boolis_sync)
Defined at line 210 of file ../../src/storage/f2fs/f2fs.cc
zx::result<> MakeReadOperation (LockedPage &page,block_tblk_addr,PageTypetype,boolis_sync)
Fill the locked page with data located in the block address.
Defined at line 180 of file ../../src/storage/f2fs/f2fs.cc
zx::result<> MakeReadOperations (zx::vmo &vmo,std::vector<block_t> &addrs,PageTypetype,boolis_sync)
Defined at line 196 of file ../../src/storage/f2fs/f2fs.cc
zx_status_t MakeTrimOperation (block_t blk_addr, block_t nblocks)
Defined at line 224 of file ../../src/storage/f2fs/f2fs.cc
void ScheduleWritebackAndReclaimPages ()
Defined at line 239 of file ../../src/storage/f2fs/f2fs.cc
zx::result<uint32_t> StartGc (uint32_t needed)
Defined at line 660 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 634 of file ../../src/storage/f2fs/f2fs.cc
void AllocateFreeSections (uint32_t needed)
Defined at line 647 of file ../../src/storage/f2fs/f2fs.cc
bool GetMemoryStatus (MemoryStatus action)
Defined at line 591 of file ../../src/storage/f2fs/f2fs.cc
void WaitForAvailableMemory ()
Defined at line 616 of file ../../src/storage/f2fs/f2fs.cc
void AddToVnodeSet (VnodeSet type, nid_t ino)
Defined at line 472 of file ../../src/storage/f2fs/f2fs.cc
void RemoveFromVnodeSet (VnodeSet type, nid_t ino)
Defined at line 482 of file ../../src/storage/f2fs/f2fs.cc
bool FindVnodeSet (VnodeSet type, nid_t ino)
Defined at line 492 of file ../../src/storage/f2fs/f2fs.cc
size_t GetVnodeSetSize (VnodeSet type)
Defined at line 501 of file ../../src/storage/f2fs/f2fs.cc
void ForAllVnodeSet (VnodeSet type, fit::function<void (nid_t)> callback)
Defined at line 505 of file ../../src/storage/f2fs/f2fs.cc
void ClearVnodeSet ()
Defined at line 514 of file ../../src/storage/f2fs/f2fs.cc
bool IsValid ()
Defined at line 160 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