Author: kevlo
Date: Mon Mar 28 07:44:55 2016
New Revision: 297335
URL: https://svnweb.freebsd.org/changeset/base/297335

Log:
  Update superblock and inode structs for ext4.
  
  Reviewed by:  pfg

Modified:
  head/sys/fs/ext2fs/ext2_dinode.h
  head/sys/fs/ext2fs/ext2fs.h

Modified: head/sys/fs/ext2fs/ext2_dinode.h
==============================================================================
--- head/sys/fs/ext2fs/ext2_dinode.h    Mon Mar 28 07:36:54 2016        
(r297334)
+++ head/sys/fs/ext2fs/ext2_dinode.h    Mon Mar 28 07:44:55 2016        
(r297335)
@@ -131,6 +131,7 @@ struct ext2fs_dinode {
        uint32_t        e2di_crtime;    /* 144: Creation (birth)time */
        uint32_t        e2di_crtime_extra; /* 148: Extra creation (birth)time */
        uint32_t        e2di_version_hi;  /* 152: High bits of inode version */
+       uint32_t        e2di_projid;    /* 156: Project ID */
 };
 
 #endif /* !_FS_EXT2FS_EXT2_DINODE_H_ */

Modified: head/sys/fs/ext2fs/ext2fs.h
==============================================================================
--- head/sys/fs/ext2fs/ext2fs.h Mon Mar 28 07:36:54 2016        (r297334)
+++ head/sys/fs/ext2fs/ext2fs.h Mon Mar 28 07:44:55 2016        (r297335)
@@ -72,7 +72,7 @@ struct ext2fs {
        uint32_t  e2fs_first_ino;       /* first non-reserved inode */
        uint16_t  e2fs_inode_size;      /* size of inode structure */
        uint16_t  e2fs_block_group_nr;  /* block grp number of this sblk*/
-       uint32_t  e2fs_features_compat; /*  compatible feature set */
+       uint32_t  e2fs_features_compat; /* compatible feature set */
        uint32_t  e2fs_features_incompat; /* incompatible feature set */
        uint32_t  e2fs_features_rocompat; /* RO-compatible feature set */
        uint8_t   e2fs_uuid[16];        /* 128-bit uuid for volume */
@@ -88,25 +88,54 @@ struct ext2fs {
        uint32_t  e3fs_last_orphan;     /* start of list of inodes to delete */
        uint32_t  e3fs_hash_seed[4];    /* HTREE hash seed */
        char      e3fs_def_hash_version; /* Default hash version to use */
-       char      e3fs_reserved_char_pad;
+       char      e3fs_jnl_backup_type;
+       uint16_t  e3fs_desc_size;       /* size of group descriptor */
        uint32_t  e3fs_default_mount_opts;
        uint32_t  e3fs_first_meta_bg;   /* First metablock block group */
-       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 */
+       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;       /* high bits of blocks count */
+       uint32_t  e4fs_rbcount_hi;      /* high bits of reserved blocks count */
+       uint32_t  e4fs_fbcount_hi;      /* high bits of free blocks count */
+       uint16_t  e4fs_min_extra_isize; /* all inodes have at least some bytes 
*/
        uint16_t  e4fs_want_extra_isize; /* inodes must 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 */
+       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_chksum_type;     /* metadata checksum algorithm used */
+       uint8_t   e4fs_encrypt;         /* versioning level for encryption */
+       uint8_t   e4fs_reserved_pad;
+       uint64_t  e4fs_kbytes_written;  /* number of lifetime kilobytes */
+       uint32_t  e4fs_snapinum;        /* inode number of active snapshot */
+       uint32_t  e4fs_snapid;          /* sequential ID of active snapshot */
+       uint64_t  e4fs_snaprbcount;     /* reserved blocks for active snapshot 
*/
+       uint32_t  e4fs_snaplist;        /* inode number for on-disk snapshot */
+       uint32_t  e4fs_errcount;        /* number of file system errors */
+       uint32_t  e4fs_first_errtime;   /* first time an error happened */
+       uint32_t  e4fs_first_errino;    /* inode involved in first error */
+       uint64_t  e4fs_first_errblk;    /* block involved of first error */
+       uint8_t   e4fs_first_errfunc[32]; /* function where error happened */
+       uint32_t  e4fs_first_errline;   /* line number where error happened */
+       uint32_t  e4fs_last_errtime;    /* most recent time of an error */
+       uint32_t  e4fs_last_errino;     /* inode involved in last error */
+       uint32_t  e4fs_last_errline;    /* line number where error happened */
+       uint64_t  e4fs_last_errblk;     /* block involved of last error */
+       uint8_t   e4fs_last_errfunc[32]; /* function where error happened */
+       uint8_t   e4fs_mount_opts[64];
+       uint32_t  e4fs_usrquota_inum;   /* inode for tracking user quota */
+       uint32_t  e4fs_grpquota_inum;   /* inode for tracking group quota */
+       uint32_t  e4fs_overhead_clusters; /* overhead blocks/clusters */
+       uint32_t  e4fs_backup_bgs[2];   /* groups with sparse_super2 SBs */
+       uint8_t   e4fs_encrypt_algos[4]; /* encryption algorithms in use */
+       uint8_t   e4fs_encrypt_pw_salt[16]; /* salt used for string2key */
+       uint32_t  e4fs_lpf_ino;         /* location of the lost+found inode */
+       uint32_t  e4fs_proj_quota_inum; /* inode for tracking project quota */
+       uint32_t  e4fs_chksum_seed;     /* checksum seed */
+       uint32_t  e4fs_reserved[98];    /* padding to the end of the block */
+       uint32_t  e4fs_sbchksum;        /* superblock checksum */
 };
 
 /*
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to