Add various newer Ext2 superblock feature bits and inode flag bits.

This commit is contained in:
jakllsch 2012-11-21 20:45:35 +00:00
parent 0e23ad4a3c
commit 26f3fbc515
2 changed files with 37 additions and 9 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: ext2fs.h,v 1.31 2012/11/19 03:04:23 jakllsch Exp $ */
/* $NetBSD: ext2fs.h,v 1.32 2012/11/21 20:45:35 jakllsch Exp $ */
/*
* Copyright (c) 1982, 1986, 1993
@ -205,7 +205,7 @@ struct m_ext2fs {
#define EXT2F_COMPAT_DIRHASHINDEX 0x0020
#define EXT2F_COMPAT_BITS \
"\20" \
"\06COMPAT_DIRHASHINDEX" \
"\06COMPAT_DIRHASHINDEX" \
"\05COMPAT_RESIZE" \
"\04COMPAT_EXTATTR" \
"\03COMPAT_HASJOURNAL" \
@ -215,8 +215,16 @@ struct m_ext2fs {
#define EXT2F_ROCOMPAT_SPARSESUPER 0x0001
#define EXT2F_ROCOMPAT_LARGEFILE 0x0002
#define EXT2F_ROCOMPAT_BTREE_DIR 0x0004
#define EXT2F_ROCOMPAT_HUGE_FILE 0x0008
#define EXT2F_ROCOMPAT_GDT_CSUM 0x0010
#define EXT2F_ROCOMPAT_DIR_NLINK 0x0020
#define EXT2F_ROCOMPAT_EXTRA_ISIZE 0x0040
#define EXT2F_ROCOMPAT_BITS \
"\20" \
"\07ROCOMPAT_EXTRA_ISIZE" \
"\06ROCOMPAT_DIR_NLINK" \
"\05ROCOMPAT_GDT_CSUM" \
"\04ROCOMPAT_HUGE_FILE" \
"\03ROCOMPAT_BTREE_DIR" \
"\02ROCOMPAT_LARGEFILE" \
"\01ROCOMPAT_SPARSESUPER"
@ -225,8 +233,18 @@ struct m_ext2fs {
#define EXT2F_INCOMPAT_FTYPE 0x0002
#define EXT2F_INCOMPAT_REPLAY_JOURNAL 0x0004
#define EXT2F_INCOMPAT_USES_JOURNAL 0x0008
#define EXT2F_INCOMPAT_META_BG 0x0010
#define EXT2F_INCOMPAT_EXTENTS 0x0040
#define EXT2F_INCOMPAT_64BIT 0x0080
#define EXT2F_INCOMPAT_MMP 0x0100
#define EXT2F_INCOMPAT_FLEX_BG 0x0200
#define EXT2F_INCOMPAT_BITS \
"\20" \
"\012INCOMPAT_FLEX_BG" \
"\011INCOMPAT_MMP" \
"\010INCOMPAT_64BIT" \
"\07INCOMPAT_EXTENTS" \
"\05INCOMPAT_META_BG" \
"\04INCOMPAT_USES_JOURNAL" \
"\03INCOMPAT_REPLAY_JOURNAL" \
"\02INCOMPAT_FTYPE" \

View File

@ -1,4 +1,4 @@
/* $NetBSD: ext2fs_dinode.h,v 1.24 2012/11/19 00:36:21 jakllsch Exp $ */
/* $NetBSD: ext2fs_dinode.h,v 1.25 2012/11/21 20:45:36 jakllsch Exp $ */
/*
* Copyright (c) 1982, 1989, 1993
@ -145,13 +145,23 @@ struct ext2fs_dinode {
#define EXT2_IFSOCK 0140000 /* UNIX domain socket. */
/* file flags */
#define EXT2_SECRM 0x00000001 /* Secure deletion */
#define EXT2_UNRM 0x00000002 /* Undelete */
#define EXT2_COMPR 0x00000004 /* Compress file */
#define EXT2_SYNC 0x00000008 /* Synchronous updates */
#define EXT2_IMMUTABLE 0x00000010 /* Immutable file */
#define EXT2_SECRM 0x00000001 /* Secure deletion */
#define EXT2_UNRM 0x00000002 /* Undelete */
#define EXT2_COMPR 0x00000004 /* Compress file */
#define EXT2_SYNC 0x00000008 /* Synchronous updates */
#define EXT2_IMMUTABLE 0x00000010 /* Immutable file */
#define EXT2_APPEND 0x00000020 /* writes to file may only append */
#define EXT2_NODUMP 0x00000040 /* do not dump file */
#define EXT2_NODUMP 0x00000040 /* do not dump file */
#define EXT2_NOATIME 0x00000080 /* do not update atime */
#define EXT2_INDEX 0x00001000 /* hash-indexed directory */
#define EXT2_IMAGIC 0x00002000 /* AFS directory */
#define EXT2_JOURNAL_DATA 0x00004000 /* file data should be journaled */
#define EXT2_NOTAIL 0x00008000 /* file tail should not be merged */
#define EXT2_DIRSYNC 0x00010000 /* dirsync behaviour */
#define EXT2_TOPDIR 0x00020000 /* Top of directory hierarchies*/
#define EXT2_HUGE_FILE 0x00040000 /* Set to each huge file */
#define EXT2_EXTENTS 0x00080000 /* Inode uses extents */
#define EXT2_EOFBLOCKS 0x00400000 /* Blocks allocated beyond EOF */
/* Size of on-disk inode. */
#define EXT2_REV0_DINODE_SIZE sizeof(struct ext2fs_dinode)