23#pragma alloc_text(PAGE, Ext2LoadInternalJournal)
24#pragma alloc_text(PAGE, Ext2CheckJournal)
25#pragma alloc_text(PAGE, Ext2RecoverJournal)
41 Jcb->
Inode.i_ino = jNo;
108 journal_t * journal =
NULL;
143 DbgPrint(
"Ext2Fsd: recover_journal: failed "
144 "to recover journal data.\n");
155 Vcb->SuperBlock->s_feature_incompat,
void iput(struct inode *inode)
INT Ext2CheckJournal(PEXT2_VCB Vcb, PULONG jNo)
INT Ext2RecoverJournal(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
PEXT2_MCB Ext2LoadInternalJournal(PEXT2_VCB Vcb, ULONG jNo)
#define ExAcquireResourceExclusiveLite(res, wait)
VOID Ext2FreeMcb(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
#define IsVcbReadOnly(Vcb)
#define SetLongFlag(_F, _SF)
#define VCB_JOURNAL_RECOVER
#define ClearLongFlag(_F, _SF)
BOOLEAN Ext2SaveSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
BOOLEAN Ext2LoadInode(IN PEXT2_VCB Vcb, IN struct inode *Inode)
PEXT2_MCB Ext2AllocateMcb(IN PEXT2_VCB Vcb, IN PUNICODE_STRING FileName, IN PUNICODE_STRING Parent, IN ULONG FileAttr)
BOOLEAN Ext2RefreshGroup(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
BOOLEAN Ext2RefreshSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
#define EXT3_FEATURE_INCOMPAT_RECOVER
int sync_blockdev(struct block_device *bdev)
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
int journal_load(journal_t *journal)
journal_t * journal_init_inode(struct inode *inode)
void journal_wipe_recovery(journal_t *journal)
void journal_destroy(journal_t *journal)
__le32 s_feature_incompat