Changeset 9c0c0e1 in mainline for uspace/lib/ext4/libext4_filesystem.h


Ignore:
Timestamp:
2011-10-04T12:18:44Z (14 years ago)
Author:
Frantisek Princ <frantisek.princ@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a23297c
Parents:
01ab41b
Message:

part of code needed for successful mount (porting from ext2)

File:
1 edited

Legend:

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

    r01ab41b r9c0c0e1  
    4242} ext4_filesystem_t;
    4343
    44 // TODO constant value
    45 #define EXT4_MAX_BLOCK_SIZE             8096
     44#define EXT4_MAX_BLOCK_SIZE 65536 //64 KiB
     45
     46
     47/* Compatible features */
     48// TODO features comments !!!
     49#define EXT4_FEATURE_COMPAT_DIR_PREALLOC        0x0001
     50#define EXT4_FEATURE_COMPAT_IMAGIC_INODES       0x0002
     51#define EXT4_FEATURE_COMPAT_HAS_JOURNAL         0x0004
     52#define EXT4_FEATURE_COMPAT_EXT_ATTR            0x0008
     53#define EXT4_FEATURE_COMPAT_RESIZE_INODE        0x0010
     54#define EXT4_FEATURE_COMPAT_DIR_INDEX           0x0020
     55
     56/* Read-only compatible features */
     57// TODO features comments !!!
     58#define EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER     0x0001
     59#define EXT4_FEATURE_RO_COMPAT_LARGE_FILE       0x0002
     60#define EXT4_FEATURE_RO_COMPAT_BTREE_DIR        0x0004
     61#define EXT4_FEATURE_RO_COMPAT_HUGE_FILE        0x0008
     62#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM         0x0010
     63#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK        0x0020
     64#define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE      0x0040
     65
     66/* Incompatible features */
     67// TODO features comments !!!
     68#define EXT4_FEATURE_INCOMPAT_COMPRESSION       0x0001
     69#define EXT4_FEATURE_INCOMPAT_FILETYPE          0x0002
     70#define EXT4_FEATURE_INCOMPAT_RECOVER           0x0004 /* Needs recovery */
     71#define EXT4_FEATURE_INCOMPAT_JOURNAL_DEV       0x0008 /* Journal device */
     72#define EXT4_FEATURE_INCOMPAT_META_BG           0x0010
     73#define EXT4_FEATURE_INCOMPAT_EXTENTS           0x0040 /* extents support */
     74#define EXT4_FEATURE_INCOMPAT_64BIT             0x0080
     75#define EXT4_FEATURE_INCOMPAT_MMP               0x0100
     76#define EXT4_FEATURE_INCOMPAT_FLEX_BG           0x0200
     77#define EXT4_FEATURE_INCOMPAT_EA_INODE          0x0400 /* EA in inode */
     78#define EXT4_FEATURE_INCOMPAT_DIRDATA           0x1000 /* data in dirent */
     79
     80
     81// TODO MODIFY features corresponding with implementation
     82#define EXT4_FEATURE_COMPAT_SUPP EXT4_FEATURE_COMPAT_EXT_ATTR
     83
     84#define EXT4_FEATURE_INCOMPAT_SUPP      (EXT4_FEATURE_INCOMPAT_FILETYPE| \
     85                                         EXT4_FEATURE_INCOMPAT_RECOVER| \
     86                                         EXT4_FEATURE_INCOMPAT_META_BG| \
     87                                         EXT4_FEATURE_INCOMPAT_EXTENTS| \
     88                                         EXT4_FEATURE_INCOMPAT_64BIT| \
     89                                         EXT4_FEATURE_INCOMPAT_FLEX_BG)
     90
     91#define EXT4_FEATURE_RO_COMPAT_SUPP     (EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER| \
     92                                         EXT4_FEATURE_RO_COMPAT_LARGE_FILE| \
     93                                         EXT4_FEATURE_RO_COMPAT_GDT_CSUM| \
     94                                         EXT4_FEATURE_RO_COMPAT_DIR_NLINK | \
     95                                         EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE | \
     96                                         EXT4_FEATURE_RO_COMPAT_BTREE_DIR |\
     97                                         EXT4_FEATURE_RO_COMPAT_HUGE_FILE)
     98
    4699
    47100extern int ext4_filesystem_init(ext4_filesystem_t *, service_id_t);
    48101extern int ext4_filesystem_check_sanity(ext4_filesystem_t *fs);
    49 extern int ext4_filesystem_check_flags(ext4_filesystem_t *, bool *);
     102extern int ext4_filesystem_check_features(ext4_filesystem_t *, bool *);
    50103extern void ext4_filesystem_fini(ext4_filesystem_t *fs);
    51104
Note: See TracChangeset for help on using the changeset viewer.