summaryrefslogtreecommitdiffstats
path: root/sys/fs/ext2fs/ext2fs.h
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2012-02-07 22:31:28 +0000
committerpfg <pfg@FreeBSD.org>2012-02-07 22:31:28 +0000
commit1fecd2eae2c3cb068c4199088b928b88e895cd44 (patch)
tree99fb272158893de68fa32d3121d9856164df0a74 /sys/fs/ext2fs/ext2fs.h
parente2a488980bc52aa4b57e2b51278d91d368b8f028 (diff)
downloadFreeBSD-src-1fecd2eae2c3cb068c4199088b928b88e895cd44.zip
FreeBSD-src-1fecd2eae2c3cb068c4199088b928b88e895cd44.tar.gz
Update the data structures with some fields reserved for
ext4 but that can be used in ext3 mode. Also adjust the internal inode to carry the birthtime, like in UFS, which is starting to get some use when big inodes are available. Right now these are just placeholders for features to come. Approved by: jhb (mentor) MFC after: 2 weeks
Diffstat (limited to 'sys/fs/ext2fs/ext2fs.h')
-rwxr-xr-xsys/fs/ext2fs/ext2fs.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/sys/fs/ext2fs/ext2fs.h b/sys/fs/ext2fs/ext2fs.h
index b57d515..14027ab 100755
--- a/sys/fs/ext2fs/ext2fs.h
+++ b/sys/fs/ext2fs/ext2fs.h
@@ -123,7 +123,22 @@ struct ext2fs {
char e3fs_reserved_char_pad;
uint32_t e3fs_default_mount_opts;
uint32_t e3fs_first_meta_bg; /* First metablock block group */
- uint32_t reserved2[190]; /* Padding to the end of the block */
+ uint32_t e3fs_mkfs_time; /* when the fs was created */
+ uint32_t e3fs_jnl_blks[17]; /* backup of the journal inode */
+ uint32_t e4fs_bcount_hi; /* block count */
+ uint32_t e4fs_rbcount_hi; /* reserved blocks count */
+ uint32_t e4fs_fbcount_hi; /* free blocks count */
+ uint16_t e4fs_min_extra_isize;/* all inodes have at least some bytes */
+ uint16_t e4fs_want_extra_isize; /* new inodes should reserve some bytes */
+ uint32_t e4fs_flags; /* miscellaneous flags */
+ uint16_t e4fs_raid_stride; /* RAID stride */
+ uint16_t e4fs_mmpintv; /* number of seconds to wait in MMP checking */
+ uint64_t e4fs_mmpblk; /* block for multi-mount protection */
+ uint32_t e4fs_raid_stripe_wid;/* blocks on all data disks (N * stride) */
+ uint8_t e4fs_log_gpf; /* FLEX_BG group size */
+ uint8_t e4fs_char_pad2;
+ uint16_t e4fs_pad;
+ uint32_t reserved2[162]; /* Padding to the end of the block */
};
@@ -139,15 +154,15 @@ struct m_ext2fs {
uint32_t e2fs_bsize; /* Block size */
uint32_t e2fs_bshift; /* calc of logical block no */
int32_t e2fs_bmask; /* calc of block offset */
- int32_t e2fs_bpg; /* Number of blocks per group */
+ int32_t e2fs_bpg; /* Number of blocks per group */
int64_t e2fs_qbmask; /* = s_blocksize -1 */
uint32_t e2fs_fsbtodb; /* Shift to get disk block */
- uint32_t e2fs_ipg; /* Number of inodes per group */
- uint32_t e2fs_ipb; /* Number of inodes per block */
+ uint32_t e2fs_ipg; /* Number of inodes per group */
+ uint32_t e2fs_ipb; /* Number of inodes per block */
uint32_t e2fs_itpg; /* Number of inode table per group */
uint32_t e2fs_fsize; /* Size of fragments per block */
- uint32_t e2fs_fpb; /* Number of fragments per block */
- uint32_t e2fs_fpg; /* Number of fragments per group */
+ uint32_t e2fs_fpb; /* Number of fragments per block */
+ uint32_t e2fs_fpg; /* Number of fragments per group */
uint32_t e2fs_dbpg; /* Number of descriptor blocks per group */
uint32_t e2fs_descpb; /* Number of group descriptors per block */
uint32_t e2fs_gdbcount; /* Number of group descriptors */
@@ -161,7 +176,7 @@ struct m_ext2fs {
char e2fs_wasvalid; /* valid at mount time */
off_t e2fs_maxfilesize;
struct ext2_gd *e2fs_gd; /* Group Descriptors */
- int32_t e2fs_maxcontig; /* max number of contiguous blks */
+ int32_t e2fs_maxcontig; /* max number of contiguous blks */
int32_t e2fs_contigsumsize; /* size of cluster summary array */
int32_t *e2fs_maxcluster; /* max cluster in each cyl group */
struct csum *e2fs_clustersum; /* cluster summary in each cyl group */
OpenPOWER on IntegriCloud