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); \ 57 #define EXT3_BAD_INO 1 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;
603 static 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 788 #define EXT3_FT_DIR 2 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 795 #define EXT3_FT_MAX 8 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 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 910 #define DX_HASH_TEA 2 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;
949 static inline struct ext3_inode *ext3_raw_inode(
struct ext3_iloc *iloc)
951 return (
struct ext3_inode *) (iloc->bh->b_data + iloc->offset);
959 struct dir_private_info {
962 struct fname *extra_fname;
965 __u32 curr_minor_hash;
971 ext3_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 1028 static inline int ext3_match (
int len,
const char *
const name,
__le16 bg_free_inodes_count_hi
__le32 i_block[EXT3_N_BLOCKS]
__le32 s_free_blocks_count_hi
__le32 s_default_mount_opts
GLuint GLenum GLsizei GLsizei GLint GLint GLboolean packed
__le16 bg_free_inodes_count
__le16 bg_used_dirs_count
unsigned long s_mount_opt
__le16 bg_free_blocks_count
__le16 s_want_extra_isize
__le32 s_r_blocks_count_hi
__le32 s_obso_frags_per_group
__u8 s_reserved_char_pad2
__le16 bg_used_dirs_count_hi
__le32 s_free_blocks_count
__le16 bg_free_inodes_count
#define EXT3_FEATURE_INCOMPAT_DIRDATA
struct ext3_dentry_param __attribute__((packed))
__le32 s_algorithm_usage_bitmap
union ext3_inode::@684 osd1
struct ext3_inode::@685::@689 linux2
__le16 s_reserved_gdt_blocks
static int ext3_get_dirent_data_len(struct ext3_dir_entry_2 *de)
__le16 bg_used_dirs_count
__le32 s_feature_incompat
__le32 s_free_inodes_count
__le32 s_first_data_block
union ext3_inode::@685 osd2
__le32 s_raid_stripe_width
__le32 s_blocks_per_group
#define _strnicmp(_String1, _String2, _MaxCount)
#define EXT3_FIRST_INO(s)
#define EXT3_HAS_INCOMPAT_FEATURE(sb, mask)
__u8 s_log_groups_per_flex
__le16 bg_free_blocks_count
__le16 bg_free_blocks_count_hi
__le32 s_obso_log_frag_size
__u8 s_prealloc_dir_blocks
static __le16 ext3_rec_len_to_disk(unsigned len)
struct ext3_inode::@685::@691 masix2
__le32 s_inodes_per_group
static unsigned ext3_rec_len_from_disk(__le16 dlen)
unsigned long s_commit_interval
struct ext3_inode::@684::@686 linux1
unsigned long long ext3_fsblk_t
#define EXT3_BLOCKS_PER_GROUP(s)
__le16 bg_itable_unused_hi
struct ext3_inode::@685::@690 hurd2
__le32 bg_inode_bitmap_hi
__le32 s_feature_ro_compat
struct ext3_inode::@684::@688 masix1
struct ext3_inode::@684::@687 hurd1
__le32 bg_block_bitmap_hi
static unsigned char * ext3_dentry_get_data(struct super_block *sb, struct ext3_dentry_param *p)