Imported reiserfsprogs-3.6.20
This commit is contained in:
1 parent
0ed773997f
commit
dac518d099
189 files changed
+43353
-29787
No files matched your search
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
* Copyright 2000-2004 by Hans Reiser, licensing governed by
|
||||
* reiserfsprogs/README
|
||||
*/
|
||||
|
||||
#ifndef REISERFS_SUPER_H
|
||||
#define REISERFS_SUPER_H
|
||||
|
||||
#define REISERFS_SB_SIZE_V1 (sizeof(reiserfs_sb_v1_t)) /* 76 bytes */
|
||||
|
||||
#define reiserfs_sb_jp(sb) (&((sb)->s_v1.sb_journal))
|
||||
|
||||
/* values for sb_version field of struct reiserfs_super_block. sb_version is
|
||||
only reliable on filesystem with non-standard journal */
|
||||
#define REISERFS_FORMAT_3_5 0
|
||||
#define REISERFS_FORMAT_3_6 2
|
||||
#define REISERFS_FORMAT_UNKNOWN -1
|
||||
|
||||
|
||||
/* values for sb_mount_state field */
|
||||
#define FS_CLEANLY_UMOUNTED 1 /* this was REISERFS_VALID_FS */
|
||||
#define FS_NOT_CLEANLY_UMOUNTED 2 /* this was REISERFS_ERROR. It
|
||||
means that filesystem was not
|
||||
cleanly unmounted */
|
||||
|
||||
typedef enum {
|
||||
reiserfs_attrs_cleared = 0x00000001,
|
||||
} reiserfs_super_block_flags;
|
||||
|
||||
#define REISERFS_SB_SIZE (sizeof(reiserfs_sb_t)) /* 204 bytes */
|
||||
|
||||
/* set/get fields of super block with these defines */
|
||||
#define reiserfs_sb_get_blocks(sb) get_le32 (sb, s_v1.sb_block_count)
|
||||
#define reiserfs_sb_set_blocks(sb,val) set_le32 (sb, s_v1.sb_block_count, val)
|
||||
|
||||
#define reiserfs_sb_get_free(sb) get_le32 (sb, s_v1.sb_free_blocks)
|
||||
#define reiserfs_sb_set_free(sb,val) set_le32 (sb, s_v1.sb_free_blocks, val)
|
||||
|
||||
#define reiserfs_sb_get_root(sb) get_le32 (sb,s_v1.sb_root_block)
|
||||
#define reiserfs_sb_set_root(sb,val) set_le32 (sb, s_v1.sb_root_block, val)
|
||||
|
||||
#if 0
|
||||
#define get_sb_mount_id(sb) get_le32 (sb,s_v1.sb_mountid)
|
||||
#define set_sb_mount_id(sb,val) set_le32 (sb, s_v1.sb_mountid, val)
|
||||
|
||||
#define get_sb_journal_magic(sb) get_le32 (sb, s_v1.sb_journal_magic)
|
||||
#define set_sb_journal_magic(sb,val) set_le32 (sb, s_v1.sb_journal_magic, val)
|
||||
#endif
|
||||
|
||||
#define reiserfs_sb_get_blksize(sb) get_le16 (sb, s_v1.sb_blocksize)
|
||||
#define reiserfs_sb_set_blksize(sb,val) set_le16 (sb, s_v1.sb_blocksize, val)
|
||||
|
||||
#define reiserfs_sb_get_mapmax(sb) get_le16 (sb, s_v1.sb_oid_maxsize)
|
||||
#define reiserfs_sb_set_mapmax(sb,val) set_le16 (sb, s_v1.sb_oid_maxsize, val)
|
||||
|
||||
#define reiserfs_sb_get_mapcur(sb) get_le16 (sb, s_v1.sb_oid_cursize)
|
||||
#define reiserfs_sb_set_mapcur(sb,val) set_le16 (sb, s_v1.sb_oid_cursize, val)
|
||||
|
||||
#define reiserfs_sb_get_umount(sb) get_le16 (sb, s_v1.sb_umount_state)
|
||||
#define reiserfs_sb_set_umount(sb,val) set_le16 (sb, s_v1.sb_umount_state, val)
|
||||
|
||||
#define reiserfs_sb_get_state(sb) get_le16 (sb, s_v1.sb_fs_state)
|
||||
#define reiserfs_sb_set_state(sb,flag) set_le16 (sb, s_v1.sb_fs_state, flag)
|
||||
|
||||
#define reiserfs_sb_get_hash(sb) get_le32 (sb, s_v1.sb_hash_function_code)
|
||||
#define reiserfs_sb_set_hash(sb,val) set_le32 (sb, s_v1.sb_hash_function_code, val)
|
||||
|
||||
#define reiserfs_sb_get_height(sb) get_le16 (sb, s_v1.sb_tree_height)
|
||||
#define reiserfs_sb_set_height(sb,val) set_le16 (sb, s_v1.sb_tree_height, val)
|
||||
|
||||
#define reiserfs_sb_get_bmaps(sb) get_le16 (sb, s_v1.sb_bmap_nr)
|
||||
#define reiserfs_sb_set_bmaps(sb,val) set_le16 (sb, s_v1.sb_bmap_nr, val)
|
||||
|
||||
#define reiserfs_sb_get_version(sb) get_le16 (sb, s_v1.sb_version)
|
||||
#define reiserfs_sb_set_version(sb,val) set_le16 (sb, s_v1.sb_version, val)
|
||||
|
||||
#define reiserfs_sb_get_reserved(sb) \
|
||||
get_le16 (sb, s_v1.sb_reserved_for_journal)
|
||||
#define reiserfs_sb_set_reserved(sb,val) \
|
||||
set_le16 (sb, s_v1.sb_reserved_for_journal, val)
|
||||
|
||||
#define reiserfs_sb_get_gen(sb) get_le32 (sb, sb_inode_generation)
|
||||
#define reiserfs_sb_set_gen(sb,val) set_le32 (sb, sb_inode_generation, val)
|
||||
|
||||
#define reiserfs_sb_get_flags(sb) get_le32 (sb, s_flags)
|
||||
#define reiserfs_sb_set_flags(sb, val) set_le32 (sb, s_flags, val)
|
||||
|
||||
#define reiserfs_sb_isflag(sb, flag) \
|
||||
(get_le32 (sb, s_flags) & flag)
|
||||
#define reiserfs_sb_mkflag(sb, flag) \
|
||||
set_le32 (sb, s_flags, get_le32 (sb, s_flags) | flag)
|
||||
#define reiserfs_sb_clflag(sb, flag) \
|
||||
set_le32 (sb, s_flags, get_le32 (sb, s_flags) & ~(flag))
|
||||
|
||||
/* 0 does not guarantee that fs is consistent */
|
||||
#define reiserfs_sb_state_ok(fs) \
|
||||
((reiserfs_sb_get_umount (fs->fs_ondisk_sb) == FS_CLEANLY_UMOUNTED) && \
|
||||
(reiserfs_sb_get_state (fs->fs_ondisk_sb) == FS_CONSISTENT))
|
||||
|
||||
|
||||
/* prejournalled reiserfs had signature in the other place in super block */
|
||||
#define REISERFS_SUPER_MAGIC_STRING_OFFSET_NJ 20
|
||||
|
||||
/* f_type of struct statfs will be set at this value by statfs(2) */
|
||||
#define REISERFS_SUPER_MAGIC 0x52654973
|
||||
|
||||
/* various reiserfs signatures. We have 3 so far. ReIsErFs for 3.5 format with
|
||||
standard journal, ReIsEr2Fs for 3.6 (or converted 3.5) and ReIsEr3Fs for
|
||||
filesystem with non-standard journal (formats are distinguished by
|
||||
sb_version in that case). Those signatures should be looked for at the
|
||||
64-th and at the 8-th 1k block of the device */
|
||||
#define REISERFS_3_5_SUPER_MAGIC_STRING "ReIsErFs"
|
||||
#define REISERFS_3_6_SUPER_MAGIC_STRING "ReIsEr2Fs"
|
||||
#define REISERFS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs" /* JR stands for Journal
|
||||
Relocation */
|
||||
|
||||
/* these are possible values for sb_fs_state */
|
||||
enum reiserfs_state_flags {
|
||||
/* this is set by mkreiserfs and by reiserfsck */
|
||||
FS_CONSISTENT = 0x0,
|
||||
/* this is set by the kernel when fsck is wanted. */
|
||||
FS_ERROR = 0x1,
|
||||
/* this is set by fsck when fatal corruption is found */
|
||||
FS_FATAL = 0x2,
|
||||
/* this is set by kernel when io error occures */
|
||||
/* IO_ERROR = 0x4, */
|
||||
|
||||
FS_STATE_LAST = 0x5
|
||||
};
|
||||
|
||||
extern int reiserfs_super_35_magic (reiserfs_sb_t * rs);
|
||||
|
||||
extern int reiserfs_super_36_magic (reiserfs_sb_t * rs);
|
||||
|
||||
extern int reiserfs_super_jr_magic (reiserfs_sb_t * rs);
|
||||
|
||||
extern int reiserfs_super_magic (reiserfs_sb_t * rs);
|
||||
|
||||
extern int reiserfs_super_format (reiserfs_sb_t * sb);
|
||||
|
||||
extern int reiserfs_super_size (reiserfs_sb_t * rs);
|
||||
|
||||
extern int reiserfs_super_prejournaled (reiserfs_sb_t * rs);
|
||||
|
||||
extern void reiserfs_super_print_state (FILE * fp,
|
||||
reiserfs_filsys_t * fs);
|
||||
|
||||
extern int reiserfs_super_print (FILE * fp,
|
||||
reiserfs_filsys_t *,
|
||||
char * file_name,
|
||||
reiserfs_bh_t * bh,
|
||||
int short_print);
|
||||
|
||||
extern int reiserfs_super_valid(reiserfs_bh_t *bh);
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user