16#ifndef _LINUX_EXT3_FS_H
17#define _LINUX_EXT3_FS_H
35#define EXT3_DEFAULT_RESERVE_BLOCKS 8
37#define EXT3_MAX_RESERVE_BLOCKS 1027
38#define EXT3_RESERVE_WINDOW_NOT_ALLOCATED 0
44#define ext3_debug(f, a...) \
46 printk (KERN_DEBUG "EXT3-fs DEBUG (%s, %d): %s:", \
47 __FILE__, __LINE__, __FUNCTION__); \
48 printk (KERN_DEBUG f, ## a); \
58#define EXT3_ROOT_INO 2
59#define EXT3_BOOT_LOADER_INO 5
60#define EXT3_UNDEL_DIR_INO 6
61#define EXT3_RESIZE_INO 7
62#define EXT3_JOURNAL_INO 8
65#define EXT3_GOOD_OLD_FIRST_INO 11
70#define EXT3_LINK_MAX 32000
75#define EXT3_MIN_BLOCK_SIZE 1024
76#define EXT3_MAX_BLOCK_SIZE 65536
77#define EXT3_MIN_BLOCK_LOG_SIZE 10
79# define EXT3_BLOCK_SIZE(s) ((s)->s_blocksize)
81# define EXT3_BLOCK_SIZE(s) (EXT3_MIN_BLOCK_SIZE << (s)->s_log_block_size)
83#define EXT3_ADDR_PER_BLOCK(s) (EXT3_BLOCK_SIZE(s) / sizeof (__u32))
85# define EXT3_BLOCK_SIZE_BITS(s) ((s)->s_blocksize_bits)
87# define EXT3_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
90#define EXT3_ADDR_PER_BLOCK_BITS(s) (EXT3_SB(s)->s_addr_per_block_bits)
91#define EXT3_INODE_SIZE(s) (EXT3_SB(s)->s_inode_size)
92#define EXT3_FIRST_INO(s) (EXT3_SB(s)->s_first_ino)
94#define EXT3_INODE_SIZE(s) (((s)->s_rev_level == EXT3_GOOD_OLD_REV) ? \
95 EXT3_GOOD_OLD_INODE_SIZE : \
97#define EXT3_FIRST_INO(s) (((s)->s_rev_level == EXT3_GOOD_OLD_REV) ? \
98 EXT3_GOOD_OLD_FIRST_INO : \
105#define EXT3_MIN_FRAG_SIZE 1024
106#define EXT3_MAX_FRAG_SIZE 4096
107#define EXT3_MIN_FRAG_LOG_SIZE 10
109# define EXT3_FRAG_SIZE(s) (EXT3_SB(s)->s_frag_size)
110# define EXT3_FRAGS_PER_BLOCK(s) (EXT3_SB(s)->s_frags_per_block)
112# define EXT3_FRAG_SIZE(s) (EXT3_MIN_FRAG_SIZE << (s)->s_log_frag_size)
113# define EXT3_FRAGS_PER_BLOCK(s) (EXT3_BLOCK_SIZE(s) / EXT3_FRAG_SIZE(s))
165#define EXT4_BG_INODE_UNINIT 0x0001
166#define EXT4_BG_BLOCK_UNINIT 0x0002
167#define EXT4_BG_INODE_ZEROED 0x0004
169#define EXT4_MIN_BLOCK_SIZE 1024
170#define EXT4_MIN_DESC_SIZE 32
171#define EXT4_MIN_DESC_SIZE_64BIT 64
172#define EXT4_MAX_DESC_SIZE EXT4_MIN_BLOCK_SIZE
174#define EXT4_DESC_SIZE(s) (EXT3_SB(s)->s_desc_size)
180# define EXT3_BLOCKS_PER_GROUP(s) (EXT3_SB(s)->s_blocks_per_group)
181# define EXT3_DESC_PER_BLOCK(s) (EXT3_SB(s)->s_desc_per_block)
182# define EXT3_INODES_PER_GROUP(s) (EXT3_SB(s)->s_inodes_per_group)
183# define EXT3_DESC_PER_BLOCK_BITS(s) (EXT3_SB(s)->s_desc_per_block_bits)
184# define EXT4_BLOCKS_PER_GROUP(s) (EXT3_SB(s)->s_blocks_per_group)
185# define EXT4_DESC_PER_BLOCK(s) (EXT3_SB(s)->s_desc_per_block)
186# define EXT4_INODES_PER_GROUP(s) (EXT3_SB(s)->s_inodes_per_group)
187# define EXT4_DESC_PER_BLOCK_BITS(s) (EXT3_SB(s)->s_desc_per_block_bits)
189# define EXT3_BLOCKS_PER_GROUP(s) ((s)->s_blocks_per_group)
190# define EXT3_DESC_PER_BLOCK(s) (EXT3_BLOCK_SIZE(s) / sizeof (struct ext3_group_desc))
191# define EXT3_INODES_PER_GROUP(s) ((s)->s_inodes_per_group)
197#define EXT3_NDIR_BLOCKS 12
198#define EXT3_IND_BLOCK EXT3_NDIR_BLOCKS
199#define EXT3_DIND_BLOCK (EXT3_IND_BLOCK + 1)
200#define EXT3_TIND_BLOCK (EXT3_DIND_BLOCK + 1)
201#define EXT3_N_BLOCKS (EXT3_TIND_BLOCK + 1)
206#define EXT3_SECRM_FL 0x00000001
207#define EXT3_UNRM_FL 0x00000002
208#define EXT3_COMPR_FL 0x00000004
209#define EXT3_SYNC_FL 0x00000008
210#define EXT3_IMMUTABLE_FL 0x00000010
211#define EXT3_APPEND_FL 0x00000020
212#define EXT3_NODUMP_FL 0x00000040
213#define EXT3_NOATIME_FL 0x00000080
215#define EXT3_DIRTY_FL 0x00000100
216#define EXT3_COMPRBLK_FL 0x00000200
217#define EXT3_NOCOMPR_FL 0x00000400
218#define EXT3_ECOMPR_FL 0x00000800
220#define EXT3_INDEX_FL 0x00001000
221#define EXT3_IMAGIC_FL 0x00002000
222#define EXT3_JOURNAL_DATA_FL 0x00004000
223#define EXT3_NOTAIL_FL 0x00008000
224#define EXT3_DIRSYNC_FL 0x00010000
225#define EXT3_TOPDIR_FL 0x00020000
226#define EXT3_RESERVED_FL 0x80000000
228#define EXT3_FL_USER_VISIBLE 0x0003DFFF
229#define EXT3_FL_USER_MODIFIABLE 0x000380FF
234#define EXT3_STATE_JDATA 0x00000001
235#define EXT3_STATE_NEW 0x00000002
236#define EXT3_STATE_XATTR 0x00000004
242#define EXT4_SECRM_FL 0x00000001
243#define EXT4_UNRM_FL 0x00000002
244#define EXT4_COMPR_FL 0x00000004
245#define EXT4_SYNC_FL 0x00000008
246#define EXT4_IMMUTABLE_FL 0x00000010
247#define EXT4_APPEND_FL 0x00000020
248#define EXT4_NODUMP_FL 0x00000040
249#define EXT4_NOATIME_FL 0x00000080
251#define EXT4_DIRTY_FL 0x00000100
252#define EXT4_COMPRBLK_FL 0x00000200
253#define EXT4_NOCOMPR_FL 0x00000400
254#define EXT4_ECOMPR_FL 0x00000800
256#define EXT4_INDEX_FL 0x00001000
257#define EXT4_IMAGIC_FL 0x00002000
258#define EXT4_JOURNAL_DATA_FL 0x00004000
259#define EXT4_NOTAIL_FL 0x00008000
260#define EXT4_DIRSYNC_FL 0x00010000
261#define EXT4_TOPDIR_FL 0x00020000
262#define EXT4_HUGE_FILE_FL 0x00040000
263#define EXT4_EXTENTS_FL 0x00080000
264#define EXT4_EXT_MIGRATE 0x00100000
265#define EXT4_RESERVED_FL 0x80000000
267#define EXT4_FL_USER_VISIBLE 0x000BDFFF
268#define EXT4_FL_USER_MODIFIABLE 0x000B80FF
297#define EXT3_IOC_GETFLAGS FS_IOC_GETFLAGS
298#define EXT3_IOC_SETFLAGS FS_IOC_SETFLAGS
299#define EXT3_IOC_GETVERSION _IOR('f', 3, long)
300#define EXT3_IOC_SETVERSION _IOW('f', 4, long)
301#define EXT3_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long)
302#define EXT3_IOC_GROUP_ADD _IOW('f', 8,struct ext3_new_group_input)
303#define EXT3_IOC_GETVERSION_OLD FS_IOC_GETVERSION
304#define EXT3_IOC_SETVERSION_OLD FS_IOC_SETVERSION
305#ifdef CONFIG_JBD_DEBUG
306#define EXT3_IOC_WAIT_FOR_READONLY _IOR('f', 99, long)
308#define EXT3_IOC_GETRSVSZ _IOR('f', 5, long)
309#define EXT3_IOC_SETRSVSZ _IOW('f', 6, long)
314#define EXT3_IOC32_GETFLAGS FS_IOC32_GETFLAGS
315#define EXT3_IOC32_SETFLAGS FS_IOC32_SETFLAGS
316#define EXT3_IOC32_GETVERSION _IOR('f', 3, int)
317#define EXT3_IOC32_SETVERSION _IOW('f', 4, int)
318#define EXT3_IOC32_GETRSVSZ _IOR('f', 5, int)
319#define EXT3_IOC32_SETRSVSZ _IOW('f', 6, int)
320#define EXT3_IOC32_GROUP_EXTEND _IOW('f', 7, unsigned int)
321#ifdef CONFIG_JBD_DEBUG
322#define EXT3_IOC32_WAIT_FOR_READONLY _IOR('f', 99, int)
324#define EXT3_IOC32_GETVERSION_OLD FS_IOC32_GETVERSION
325#define EXT3_IOC32_SETVERSION_OLD FS_IOC32_SETVERSION
338 char *s_qf_names[MAXQUOTAS];
404#define i_disk_version osd1.linux1.l_i_version
406#if defined(__KERNEL__) || defined(__linux__)
407#define i_reserved1 osd1.linux1.l_i_reserved1
408#define i_file_acl_high osd2.linux2.l_i_file_acl_high
409#define i_blocks_high osd2.linux2.l_i_blocks_high
410#define i_uid_low i_uid
411#define i_gid_low i_gid
412#define i_uid_high osd2.linux2.l_i_uid_high
413#define i_gid_high osd2.linux2.l_i_gid_high
414#define i_reserved2 osd2.linux2.l_i_reserved2
419#define EXT3_VALID_FS 0x0001
420#define EXT3_ERROR_FS 0x0002
421#define EXT3_ORPHAN_FS 0x0004
426#define EXT3_MOUNT_CHECK 0x00001
427#define EXT3_MOUNT_OLDALLOC 0x00002
428#define EXT3_MOUNT_GRPID 0x00004
429#define EXT3_MOUNT_DEBUG 0x00008
430#define EXT3_MOUNT_ERRORS_CONT 0x00010
431#define EXT3_MOUNT_ERRORS_RO 0x00020
432#define EXT3_MOUNT_ERRORS_PANIC 0x00040
433#define EXT3_MOUNT_MINIX_DF 0x00080
434#define EXT3_MOUNT_NOLOAD 0x00100
435#define EXT3_MOUNT_ABORT 0x00200
436#define EXT3_MOUNT_DATA_FLAGS 0x00C00
437#define EXT3_MOUNT_JOURNAL_DATA 0x00400
438#define EXT3_MOUNT_ORDERED_DATA 0x00800
439#define EXT3_MOUNT_WRITEBACK_DATA 0x00C00
440#define EXT3_MOUNT_UPDATE_JOURNAL 0x01000
441#define EXT3_MOUNT_NO_UID32 0x02000
442#define EXT3_MOUNT_XATTR_USER 0x04000
443#define EXT3_MOUNT_POSIX_ACL 0x08000
444#define EXT3_MOUNT_RESERVATION 0x10000
445#define EXT3_MOUNT_BARRIER 0x20000
446#define EXT3_MOUNT_NOBH 0x40000
447#define EXT3_MOUNT_QUOTA 0x80000
448#define EXT3_MOUNT_USRQUOTA 0x100000
449#define EXT3_MOUNT_GRPQUOTA 0x200000
452#ifndef _LINUX_EXT2_FS_H
453#define clear_opt(o, opt) o &= ~EXT3_MOUNT_##opt
454#define set_opt(o, opt) o |= EXT3_MOUNT_##opt
455#define test_opt(sb, opt) (EXT3_SB(sb)->s_mount_opt & \
458#define EXT2_MOUNT_NOLOAD EXT3_MOUNT_NOLOAD
459#define EXT2_MOUNT_ABORT EXT3_MOUNT_ABORT
460#define EXT2_MOUNT_DATA_FLAGS EXT3_MOUNT_DATA_FLAGS
463#define ext3_set_bit ext2_set_bit
464#define ext3_set_bit_atomic ext2_set_bit_atomic
465#define ext3_clear_bit ext2_clear_bit
466#define ext3_clear_bit_atomic ext2_clear_bit_atomic
467#define ext3_test_bit ext2_test_bit
468#define ext3_find_first_zero_bit ext2_find_first_zero_bit
469#define ext3_find_next_zero_bit ext2_find_next_zero_bit
474#define EXT3_DFL_MAX_MNT_COUNT 20
475#define EXT3_DFL_CHECKINTERVAL 0
480#define EXT3_ERRORS_CONTINUE 1
481#define EXT3_ERRORS_RO 2
482#define EXT3_ERRORS_PANIC 3
483#define EXT3_ERRORS_DEFAULT EXT3_ERRORS_CONTINUE
596 return sb->s_fs_info;
603static inline int ext3_valid_inum(
struct super_block *
sb,
unsigned long ino)
615#define EXT3_SB(sb) (sb)
619#define NEXT_ORPHAN(inode) EXT3_I(inode)->i_dtime
624#define EXT3_OS_LINUX 0
625#define EXT3_OS_HURD 1
626#define EXT3_OS_MASIX 2
627#define EXT3_OS_FREEBSD 3
628#define EXT3_OS_LITES 4
633#define EXT3_GOOD_OLD_REV 0
634#define EXT3_DYNAMIC_REV 1
636#define EXT3_CURRENT_REV EXT3_GOOD_OLD_REV
637#define EXT3_MAX_SUPP_REV EXT3_DYNAMIC_REV
639#define EXT3_GOOD_OLD_INODE_SIZE 128
645#define EXT3_HAS_COMPAT_FEATURE(sb,mask) \
646 ( EXT3_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask) )
647#define EXT3_HAS_RO_COMPAT_FEATURE(sb,mask) \
648 ( EXT3_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask) )
649#define EXT3_HAS_INCOMPAT_FEATURE(sb,mask) \
650 ( EXT3_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask) )
651#define EXT3_SET_COMPAT_FEATURE(sb,mask) \
652 EXT3_SB(sb)->s_es->s_feature_compat |= cpu_to_le32(mask)
653#define EXT3_SET_RO_COMPAT_FEATURE(sb,mask) \
654 EXT3_SB(sb)->s_es->s_feature_ro_compat |= cpu_to_le32(mask)
655#define EXT3_SET_INCOMPAT_FEATURE(sb,mask) \
656 EXT3_SB(sb)->s_es->s_feature_incompat |= cpu_to_le32(mask)
657#define EXT3_CLEAR_COMPAT_FEATURE(sb,mask) \
658 EXT3_SB(sb)->s_es->s_feature_compat &= ~cpu_to_le32(mask)
659#define EXT3_CLEAR_RO_COMPAT_FEATURE(sb,mask) \
660 EXT3_SB(sb)->s_es->s_feature_ro_compat &= ~cpu_to_le32(mask)
661#define EXT3_CLEAR_INCOMPAT_FEATURE(sb,mask) \
662 EXT3_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask)
664#define EXT3_FEATURE_COMPAT_DIR_PREALLOC 0x0001
665#define EXT3_FEATURE_COMPAT_IMAGIC_INODES 0x0002
666#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
667#define EXT3_FEATURE_COMPAT_EXT_ATTR 0x0008
668#define EXT3_FEATURE_COMPAT_RESIZE_INODE 0x0010
669#define EXT3_FEATURE_COMPAT_DIR_INDEX 0x0020
671#define EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
672#define EXT3_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
673#define EXT3_FEATURE_RO_COMPAT_BTREE_DIR 0x0004
674#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010
675#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
676#define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040
678#define EXT3_FEATURE_INCOMPAT_COMPRESSION 0x0001
679#define EXT3_FEATURE_INCOMPAT_FILETYPE 0x0002
680#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004
681#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008
682#define EXT3_FEATURE_INCOMPAT_META_BG 0x0010
683#define EXT3_FEATURE_INCOMPAT_EXTENTS 0x0040
684#define EXT3_FEATURE_INCOMPAT_MMP 0x0100
685#define EXT3_FEATURE_INCOMPAT_DIRDATA 0x1000
687#define EXT3_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_EXT_ATTR
689#define EXT4_FEATURE_COMPAT_DIR_PREALLOC 0x0001
690#define EXT4_FEATURE_COMPAT_IMAGIC_INODES 0x0002
691#define EXT4_FEATURE_COMPAT_HAS_JOURNAL 0x0004
692#define EXT4_FEATURE_COMPAT_EXT_ATTR 0x0008
693#define EXT4_FEATURE_COMPAT_RESIZE_INODE 0x0010
694#define EXT4_FEATURE_COMPAT_DIR_INDEX 0x0020
696#define EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
697#define EXT4_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
698#define EXT4_FEATURE_RO_COMPAT_BTREE_DIR 0x0004
699#define EXT4_FEATURE_RO_COMPAT_HUGE_FILE 0x0008
700#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010
701#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
702#define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040
704#define EXT4_FEATURE_INCOMPAT_COMPRESSION 0x0001
705#define EXT4_FEATURE_INCOMPAT_FILETYPE 0x0002
706#define EXT4_FEATURE_INCOMPAT_RECOVER 0x0004
707#define EXT4_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008
708#define EXT4_FEATURE_INCOMPAT_META_BG 0x0010
709#define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040
710#define EXT4_FEATURE_INCOMPAT_64BIT 0x0080
711#define EXT4_FEATURE_INCOMPAT_MMP 0x0100
712#define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200
713#define EXT4_FEATURE_INCOMPAT_DIRDATA 0x1000
714#define EXT4_FEATURE_INCOMPAT_BG_USE_META_CSUM 0x2000
715#define EXT4_FEATURE_INCOMPAT_LARGEDIR 0x4000
716#define EXT4_FEATURE_INCOMPAT_INLINEDATA 0x8000
718#define EXT4_FEATURE_INCOMPAT_SUPP ( \
719 EXT4_FEATURE_INCOMPAT_FILETYPE| \
720 EXT4_FEATURE_INCOMPAT_RECOVER| \
721 EXT4_FEATURE_INCOMPAT_META_BG| \
722 EXT4_FEATURE_INCOMPAT_EXTENTS| \
723 EXT4_FEATURE_INCOMPAT_FLEX_BG)
724#define EXT4_FEATURE_RO_COMPAT_SUPP ( \
725 EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER| \
726 EXT4_FEATURE_RO_COMPAT_LARGE_FILE| \
727 EXT4_FEATURE_RO_COMPAT_GDT_CSUM| \
728 EXT4_FEATURE_RO_COMPAT_DIR_NLINK | \
729 EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE | \
730 EXT4_FEATURE_RO_COMPAT_BTREE_DIR | \
731 EXT4_FEATURE_RO_COMPAT_HUGE_FILE)
733#define EXT4_BG_INODE_UNINIT 0x0001
734#define EXT4_BG_BLOCK_UNINIT 0x0002
735#define EXT4_BG_INODE_ZEROED 0x0004
740#define EXT3_DEF_RESUID 0
741#define EXT3_DEF_RESGID 0
746#define EXT3_DEFM_DEBUG 0x0001
747#define EXT3_DEFM_BSDGROUPS 0x0002
748#define EXT3_DEFM_XATTR_USER 0x0004
749#define EXT3_DEFM_ACL 0x0008
750#define EXT3_DEFM_UID16 0x0010
751#define EXT3_DEFM_JMODE 0x0060
752#define EXT3_DEFM_JMODE_DATA 0x0020
753#define EXT3_DEFM_JMODE_ORDERED 0x0040
754#define EXT3_DEFM_JMODE_WBACK 0x0060
759#define EXT3_NAME_LEN 255
786#define EXT3_FT_UNKNOWN 0
787#define EXT3_FT_REG_FILE 1
789#define EXT3_FT_CHRDEV 3
790#define EXT3_FT_BLKDEV 4
791#define EXT3_FT_FIFO 5
792#define EXT3_FT_SOCK 6
793#define EXT3_FT_SYMLINK 7
796#define EXT3_FT_MASK 0xf
798#if EXT3_FT_MAX > EXT3_FT_MASK
799#error "conflicting EXT3_FT_MAX and EXT3_FT_MASK"
802#define EXT3_LUFID_MAGIC 0xAD200907UL
835 __u8 extra_data_flags = (de->
file_type & ~EXT3_FT_MASK) >> 4;
837 while (extra_data_flags) {
838 if (extra_data_flags & 1) {
839 dlen += *
len + (dlen == 0);
842 extra_data_flags >>= 1;
859#define EXT3_DIRENT_LUFID 0x10
865#define EXT3_DIR_PAD 4
866#define EXT3_DIR_ROUND (EXT3_DIR_PAD - 1)
867#define EXT3_DIR_REC_LEN(len) (((len) + 8 + EXT3_DIR_ROUND) & \
869#define EXT3_MAX_REC_LEN ((1<<16)-1)
882 if (
len == (1 << 16))
884 else if (
len > (1 << 16))
894#ifdef EXT2_HTREE_INDEX
895#define is_dx(dir) (EXT3_HAS_COMPAT_FEATURE(dir->i_sb, \
896 EXT3_FEATURE_COMPAT_DIR_INDEX) && \
897 (EXT3_I(dir)->i_flags & EXT3_INDEX_FL))
898#define EXT3_DIR_LINK_MAX(dir) (!is_dx(dir) && (dir)->i_nlink >= EXT3_LINK_MAX)
899#define EXT3_DIR_LINK_EMPTY(dir) ((dir)->i_nlink == 2 || (dir)->i_nlink == 1)
902#define EXT3_DIR_LINK_MAX(dir) ((dir)->i_nlink >= EXT3_LINK_MAX)
903#define EXT3_DIR_LINK_EMPTY(dir) ((dir)->i_nlink == 2)
908#define DX_HASH_LEGACY 0
909#define DX_HASH_HALF_MD4 1
911#define DX_HASH_LEGACY_UNSIGNED 3
912#define DX_HASH_HALF_MD4_UNSIGNED 4
913#define DX_HASH_TEA_UNSIGNED 5
927#define EXT3_HTREE_EOF 0x7fffffff
930#define EXT4_HTREE_EOF_32BIT ((1UL << (32 - 1)) - 1)
931#define EXT4_HTREE_EOF_64BIT ((1ULL << (64 - 1)) - 1
936#define HASH_NB_ALWAYS 1
946 unsigned long block_group;
949static inline struct ext3_inode *ext3_raw_inode(
struct ext3_iloc *iloc)
951 return (
struct ext3_inode *) (iloc->bh->b_data + iloc->offset);
959struct dir_private_info {
962 struct fname *extra_fname;
965 __u32 curr_minor_hash;
971ext3_group_first_block_no(
struct super_block *
sb,
unsigned long group_no)
980#define ERR_BAD_DX_DIR -75000
989#define EXT3_MMP_MAGIC 0x004D4D50U
990#define EXT3_MMP_SEQ_CLEAN 0xFF4D4D50U
991#define EXT3_MMP_SEQ_FSCK 0xE24D4D50U
992#define EXT3_MMP_SEQ_MAX 0xE24D4D4FU
998 char mmp_nodename[64];
999 char mmp_bdevname[32];
1000 __le16 mmp_check_interval;
1008#define EXT3_MMP_UPDATE_INTERVAL 1
1013#define EXT3_MMP_MIN_CHECK_INTERVAL 5
1018#ifndef XATTR_NO_CTIME
1019#define XATTR_NO_CTIME 0x80
1028static inline int ext3_match (
int len,
const char *
const name,
#define _strnicmp(_String1, _String2, _MaxCount)
#define EXT3_FEATURE_INCOMPAT_DIRDATA
#define EXT3_BLOCKS_PER_GROUP(s)
static __le16 ext3_rec_len_to_disk(unsigned len)
#define EXT3_HAS_INCOMPAT_FEATURE(sb, mask)
static unsigned char * ext3_dentry_get_data(struct super_block *sb, struct ext3_dentry_param *p)
static unsigned ext3_rec_len_from_disk(__le16 dlen)
#define EXT3_FIRST_INO(s)
static int ext3_get_dirent_data_len(struct ext3_dir_entry_2 *de)
unsigned long long ext3_fsblk_t
GLuint GLenum GLsizei GLsizei GLint GLint GLboolean packed
__le16 bg_used_dirs_count
__le16 bg_free_inodes_count
__le16 bg_free_blocks_count
union ext3_inode::@711 osd2
union ext3_inode::@710 osd1
__le32 i_block[EXT3_N_BLOCKS]
struct ext3_inode::@711::@717 masix2
struct ext3_inode::@710::@712 linux1
struct ext3_inode::@711::@715 linux2
struct ext3_inode::@710::@713 hurd1
struct ext3_inode::@710::@714 masix1
struct ext3_inode::@711::@716 hurd2
unsigned long s_mount_opt
unsigned long s_commit_interval
__le32 s_r_blocks_count_hi
__le32 s_algorithm_usage_bitmap
__le32 s_obso_log_frag_size
__u8 s_reserved_char_pad2
__le32 s_first_data_block
__le32 s_feature_incompat
__le32 s_obso_frags_per_group
__le32 s_raid_stripe_width
__u8 s_log_groups_per_flex
__le32 s_inodes_per_group
__le32 s_feature_ro_compat
__le32 s_free_blocks_count
__le32 s_default_mount_opts
__le16 s_want_extra_isize
__le16 s_reserved_gdt_blocks
__le32 s_blocks_per_group
__u8 s_prealloc_dir_blocks
__le32 s_free_blocks_count_hi
__le32 s_free_inodes_count
__le16 bg_used_dirs_count
__le16 bg_free_inodes_count
__le16 bg_used_dirs_count_hi
__le16 bg_free_inodes_count_hi
__le32 bg_block_bitmap_hi
__le32 bg_inode_bitmap_hi
__le16 bg_free_blocks_count
__le16 bg_itable_unused_hi
__le16 bg_free_blocks_count_hi