Changeset c25e39b in mainline for uspace/lib/ext4/libext4_superblock.h


Ignore:
Timestamp:
2011-10-31T15:21:09Z (13 years ago)
Author:
Frantisek Princ <frantisek.princ@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a9a0982
Parents:
c83a55c
Message:

bugfix, TODO resolving

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ext4/libext4_superblock.h

    rc83a55c rc25e39b  
    151151#define EXT4_SUPERBLOCK_FLAGS_TEST_FILESYS      0x0004  /* to test development code */
    152152
     153/* Compatible features */
     154#define EXT4_FEATURE_COMPAT_DIR_PREALLOC        0x0001
     155#define EXT4_FEATURE_COMPAT_IMAGIC_INODES       0x0002
     156#define EXT4_FEATURE_COMPAT_HAS_JOURNAL         0x0004
     157#define EXT4_FEATURE_COMPAT_EXT_ATTR            0x0008
     158#define EXT4_FEATURE_COMPAT_RESIZE_INODE        0x0010
     159#define EXT4_FEATURE_COMPAT_DIR_INDEX           0x0020
     160
     161/* Read-only compatible features */
     162#define EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER     0x0001
     163#define EXT4_FEATURE_RO_COMPAT_LARGE_FILE       0x0002
     164#define EXT4_FEATURE_RO_COMPAT_BTREE_DIR        0x0004
     165#define EXT4_FEATURE_RO_COMPAT_HUGE_FILE        0x0008
     166#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM         0x0010
     167#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK        0x0020
     168#define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE      0x0040
     169
     170/* Incompatible features */
     171#define EXT4_FEATURE_INCOMPAT_COMPRESSION       0x0001
     172#define EXT4_FEATURE_INCOMPAT_FILETYPE          0x0002
     173#define EXT4_FEATURE_INCOMPAT_RECOVER           0x0004 /* Needs recovery */
     174#define EXT4_FEATURE_INCOMPAT_JOURNAL_DEV       0x0008 /* Journal device */
     175#define EXT4_FEATURE_INCOMPAT_META_BG           0x0010
     176#define EXT4_FEATURE_INCOMPAT_EXTENTS           0x0040 /* extents support */
     177#define EXT4_FEATURE_INCOMPAT_64BIT             0x0080
     178#define EXT4_FEATURE_INCOMPAT_MMP               0x0100
     179#define EXT4_FEATURE_INCOMPAT_FLEX_BG           0x0200
     180#define EXT4_FEATURE_INCOMPAT_EA_INODE          0x0400 /* EA in inode */
     181#define EXT4_FEATURE_INCOMPAT_DIRDATA           0x1000 /* data in dirent */
     182
     183// TODO MODIFY features corresponding with implementation
     184#define EXT4_FEATURE_COMPAT_SUPP EXT4_FEATURE_COMPAT_EXT_ATTR
     185
     186#define EXT4_FEATURE_INCOMPAT_SUPP      (EXT4_FEATURE_INCOMPAT_FILETYPE| \
     187                                         EXT4_FEATURE_INCOMPAT_RECOVER| \
     188                                         EXT4_FEATURE_INCOMPAT_META_BG| \
     189                                         EXT4_FEATURE_INCOMPAT_EXTENTS| \
     190                                         EXT4_FEATURE_INCOMPAT_64BIT| \
     191                                         EXT4_FEATURE_INCOMPAT_FLEX_BG)
     192
     193#define EXT4_FEATURE_RO_COMPAT_SUPP     (EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER| \
     194                                         EXT4_FEATURE_RO_COMPAT_LARGE_FILE| \
     195                                         EXT4_FEATURE_RO_COMPAT_GDT_CSUM| \
     196                                         EXT4_FEATURE_RO_COMPAT_DIR_NLINK | \
     197                                         EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE | \
     198                                         EXT4_FEATURE_RO_COMPAT_BTREE_DIR |\
     199                                         EXT4_FEATURE_RO_COMPAT_HUGE_FILE)
     200
     201
    153202
    154203extern uint32_t ext4_superblock_get_inodes_count(ext4_superblock_t *);
     
    205254uint8_t s_def_hash_version; // Default hash version to use
    206255uint8_t s_jnl_backup_type;
    207 uint16_t s_desc_size; // Size of group descriptor
     256*/
     257
     258extern uint16_t ext4_superblock_get_desc_size(ext4_superblock_t *);
     259
     260/*
    208261uint32_t s_default_mount_opts; // Default mount options
    209262uint32_t s_first_meta_bg; // First metablock block group
     
    243296/* More complex superblock functions */
    244297extern bool ext4_superblock_has_flag(ext4_superblock_t *, uint32_t);
     298extern bool ext4_superblock_has_feature_compatible(ext4_superblock_t *, uint32_t);
     299extern bool ext4_superblock_has_feature_incompatible(ext4_superblock_t *, uint32_t);
     300extern bool ext4_superblock_has_feature_read_only(ext4_superblock_t *, uint32_t);
    245301extern int ext4_superblock_read_direct(service_id_t, ext4_superblock_t **);
    246302extern int ext4_superblock_check_sanity(ext4_superblock_t *);
Note: See TracChangeset for help on using the changeset viewer.