ReactOS  0.4.14-dev-552-g2fad488
reiserfs.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS File System Recognizer
4  * FILE: drivers/filesystems/fs_rec/btrfs.h
5  * PURPOSE: BTRFS Header File
6  * PROGRAMMER: Peter Hater
7  * Pierre Schweitzer (pierre@reactos.org)
8  */
9 
10 #include <pshpack1.h>
12  // Block number of the block containing the first journal node.
13  UINT32 jp_journal_1st_block; /* where does journal start from on its device */
14 
15  // Journal device number (?? for if the journal is on a separate drive ??)
16  UINT32 jp_journal_dev; /* journal device st_rdev */
17 
18  // Original journal size. (Needed when using partition on systems w/ different default journal sizes).
19  UINT32 jp_journal_size; /* size of the journal */
20 
21  UINT32 jp_journal_trans_max; /* max number of blocks in a transaction. */
22  UINT32 jp_journal_magic; /* random value made on fs creation (this was sb_journal_block_count) */
23  UINT32 jp_journal_max_batch; /* max number of blocks to batch into a trans */
24  UINT32 jp_journal_max_commit_age; /* in seconds, how old can an async commit be */
25  UINT32 jp_journal_max_trans_age; /* in seconds, how old can a transaction be */
26 };
27 
28 typedef struct _RFSD_SUPER_BLOCK
29 {
30  // The number of blocks in the partition
31  UINT32 s_blocks_count; /* blocks count */ //[mark] was _s_blocks_count
32 
33  // The number of free blocks in the partition
34  UINT32 s_free_blocks_count; /* free blocks count */ //[mark] was _s_free_blocks
35 
36  // Block number of the block containing the root node
37  UINT32 s_root_block; /* root block number */
38 
40 
41  // The size (in bytes) of a block
42  UINT16 s_blocksize; /* block size */
43 
44  UINT16 s_oid_maxsize; /* max size of object id array, see get_objectid() commentary */
45  UINT16 s_oid_cursize; /* current size of object id array */
46  UINT16 s_umount_state; /* this is set to 1 when filesystem was umounted, to 2 - when not */
47  char s_magic[10]; /* reiserfs magic string indicates that
48  * file system is reiserfs:
49  * "ReIsErFs" or "ReIsEr2Fs" or "ReIsEr3Fs" */
50 
51  // State of the partition: valid(1), error (2)
52  UINT16 s_fs_state; /* it is set to used by fsck to mark which phase of rebuilding is done */
53 
54  UINT32 s_hash_function_code; /* indicate, what hash function is being use
55  * to sort names in a directory*/
56  UINT16 s_tree_height; /* height of disk tree */
57  UINT16 s_bmap_nr; /* amount of bitmap blocks needed to address
58  * each block of file system */
59 
60  // The reiserfs version number
61  UINT16 s_version; /* this field is only reliable on filesystem
62  * with non-standard journal */
63  UINT16 s_reserved_for_journal; /* size in blocks of journal area on main
64  * device, we need to keep after
65  * making fs with non-standard journal */
67 #include <poppack.h>
68 
69 C_ASSERT(FIELD_OFFSET(RFSD_SUPER_BLOCK, s_blocksize) == 44);
70 C_ASSERT(FIELD_OFFSET(RFSD_SUPER_BLOCK, s_magic) == 52);
71 
72 #define REISERFS_DISK_OFFSET_IN_BYTES (64 * 1024)
73 #define REISERFS_SUPER_MAGIC_STRING "ReIsErFs"
74 #define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs"
75 #define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs"
76 #define MAGIC_KEY_LENGTH 9
struct _RFSD_SUPER_BLOCK * PRFSD_SUPER_BLOCK
UINT32 s_root_block
Definition: reiserfs.h:37
UINT32 s_blocks_count
Definition: reiserfs.h:31
UINT16 s_bmap_nr
Definition: reiserfs.h:57
UINT32 jp_journal_1st_block
Definition: reiserfs.h:13
UINT32 jp_journal_max_trans_age
Definition: reiserfs.h:25
UINT16 s_tree_height
Definition: reiserfs.h:56
UINT16 s_umount_state
Definition: reiserfs.h:46
UINT16 s_fs_state
Definition: reiserfs.h:52
UINT32 jp_journal_magic
Definition: reiserfs.h:22
UINT16 s_oid_maxsize
Definition: reiserfs.h:44
UINT32 s_hash_function_code
Definition: reiserfs.h:54
unsigned int UINT32
UINT32 s_free_blocks_count
Definition: reiserfs.h:34
struct journal_params s_journal
Definition: reiserfs.h:39
UINT32 jp_journal_trans_max
Definition: reiserfs.h:21
UINT32 jp_journal_size
Definition: reiserfs.h:19
UINT32 jp_journal_dev
Definition: reiserfs.h:16
struct _RFSD_SUPER_BLOCK RFSD_SUPER_BLOCK
UINT16 s_reserved_for_journal
Definition: reiserfs.h:63
UINT16 s_version
Definition: reiserfs.h:61
UINT32 jp_journal_max_batch
Definition: reiserfs.h:23
UINT16 s_blocksize
Definition: reiserfs.h:42
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:254
unsigned short UINT16
UINT16 s_oid_cursize
Definition: reiserfs.h:45
char s_magic[10]
Definition: reiserfs.h:47
UINT32 jp_journal_max_commit_age
Definition: reiserfs.h:24
C_ASSERT(FIELD_OFFSET(RFSD_SUPER_BLOCK, s_blocksize)==44)