#include <ext2fs.h>
#include <linux/jbd.h>
#include <linux/ext3_fs.h>
Go to the source code of this file.
◆ Ext2CheckJournal()
Definition at line 55 of file recover.c.
59{
61
62
67 }
68
69
71 goto errorout;
72 }
73
74
76 goto errorout;
77 }
78
79
81 goto errorout;
82 }
83
84
86
88
89errorout:
90
92}
#define IsVcbReadOnly(Vcb)
#define SetLongFlag(_F, _SF)
#define VCB_JOURNAL_RECOVER
#define EXT3_FEATURE_INCOMPAT_RECOVER
__le32 s_feature_incompat
Referenced by Ext2RecoverJournal().
◆ Ext2LoadInternalJournal()
Definition at line 29 of file recover.c.
33{
35
37 if (!Jcb) {
38 goto errorout;
39 }
40
41 Jcb->
Inode.i_ino = jNo;
46 goto errorout;
47 }
48
49errorout:
50
51 return Jcb;
52}
VOID Ext2FreeMcb(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
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)
Referenced by Ext2RecoverJournal().
◆ Ext2RecoverJournal()
Definition at line 95 of file recover.c.
99{
104#ifndef __REACTOS__
106#endif
108 journal_t * journal =
NULL;
110
112
113
115 rc = -1;
116 goto errorout;
117 }
118
119
121 if (!jcb) {
122 rc = -6;
123 goto errorout;
124 }
125
126
128
129
131
132
133 if (!journal) {
135 rc = -8;
136 goto errorout;
137 }
138
139
141 if (0 != rc) {
142 rc = -9;
143 DbgPrint(
"Ext2Fsd: recover_journal: failed "
144 "to recover journal data.\n");
145 }
146
147
150
151
152 if (rc == 0) {
155 Vcb->SuperBlock->s_feature_incompat,
160 }
161
162errorout:
163
164
165 if (journal) {
167 }
168
169
170 if (jcb) {
172 }
173
175
176 return rc;
177}
void iput(struct inode *inode)
INT Ext2CheckJournal(PEXT2_VCB Vcb, PULONG jNo)
PEXT2_MCB Ext2LoadInternalJournal(PEXT2_VCB Vcb, ULONG jNo)
#define ExAcquireResourceExclusiveLite(res, wait)
#define ClearLongFlag(_F, _SF)
BOOLEAN Ext2SaveSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
BOOLEAN Ext2RefreshGroup(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
BOOLEAN Ext2RefreshSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
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)
Referenced by Ext2InitializeVcb(), and Ext2ProcessVolumeProperty().
◆ Ext2Global