rfc: [patch 5/6] more e2fsprogs fixes
Alexandre Ratchov <[email protected]> Fri, 25 Aug 2006 15:21:09 +0200
| Newsgroups | gmane.comp.file-systems.ext2.devel |
|---|---|
| Message-ID | <[email protected]> |
replace RO_COMPAT_64BIT -> INCOMPAT_64BIT, (as it is already
in the kernel)
Index: e2fsprogs-1.39/lib/e2p/feature.c
===================================================================
--- e2fsprogs-1.39.orig/lib/e2p/feature.c 2006-08-22 13:33:16.000000000 +0200
+++ e2fsprogs-1.39/lib/e2p/feature.c 2006-08-23 18:01:29.000000000 +0200
@@ -41,7 +41,7 @@ static struct feature feature_list[] = {
"sparse_super" },
{ E2P_FEATURE_RO_INCOMPAT, EXT2_FEATURE_RO_COMPAT_LARGE_FILE,
"large_file" },
- { E2P_FEATURE_RO_INCOMPAT, EXT2_FEATURE_RO_COMPAT_64BIT,
+ { E2P_FEATURE_INCOMPAT, EXT2_FEATURE_INCOMPAT_64BIT,
"64bit" },
{ E2P_FEATURE_INCOMPAT, EXT2_FEATURE_INCOMPAT_COMPRESSION,
"compression" },
Index: e2fsprogs-1.39/lib/ext2fs/ext2fs.h
===================================================================
--- e2fsprogs-1.39.orig/lib/ext2fs/ext2fs.h 2006-08-22 13:33:16.000000000 +0200
+++ e2fsprogs-1.39/lib/ext2fs/ext2fs.h 2006-08-23 18:06:27.000000000 +0200
@@ -461,17 +461,18 @@ typedef struct ext2_icount *ext2_icount_
EXT3_FEATURE_INCOMPAT_JOURNAL_DEV|\
EXT2_FEATURE_INCOMPAT_META_BG|\
EXT3_FEATURE_INCOMPAT_RECOVER|\
- EXT3_FEATURE_INCOMPAT_EXTENTS)
+ EXT3_FEATURE_INCOMPAT_EXTENTS|\
+ EXT2_FEATURE_INCOMPAT_64BIT)
#else
#define EXT2_LIB_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE|\
EXT3_FEATURE_INCOMPAT_JOURNAL_DEV|\
EXT2_FEATURE_INCOMPAT_META_BG|\
EXT3_FEATURE_INCOMPAT_RECOVER|\
- EXT3_FEATURE_INCOMPAT_EXTENTS)
+ EXT3_FEATURE_INCOMPAT_EXTENTS|\
+ EXT2_FEATURE_INCOMPAT_64BIT)
#endif
#define EXT2_LIB_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|\
- EXT2_FEATURE_RO_COMPAT_LARGE_FILE|\
- EXT2_FEATURE_RO_COMPAT_64BIT)
+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE)
/*
* function prototypes
*/
Index: e2fsprogs-1.39/misc/mke2fs.c
===================================================================
--- e2fsprogs-1.39.orig/misc/mke2fs.c 2006-08-22 13:33:16.000000000 +0200
+++ e2fsprogs-1.39/misc/mke2fs.c 2006-08-23 18:02:44.000000000 +0200
@@ -527,7 +527,7 @@ static void create_lost_and_found(ext2_f
exit(1);
}
- if (!(fs->super->s_feature_ro_compat & EXT2_FEATURE_RO_COMPAT_64BIT)) {
+ if (!(fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_64BIT)) {
for (i=1; i < EXT2_NDIR_BLOCKS; i++) {
if ((lpf_size += fs->blocksize) >= 16*1024)
break;
@@ -1252,7 +1252,7 @@ static void PRS(int argc, char *argv[])
exit(1);
}
if (dev_size >> 31) {
- fs_param.s_feature_ro_compat |= EXT2_FEATURE_RO_COMPAT_64BIT;
+ fs_param.s_feature_incompat |= EXT2_FEATURE_INCOMPAT_64BIT;
}
EXT2_BLOCKS_COUNT_SET(&fs_param, dev_size);
if (sys_page_size > EXT2_BLOCK_SIZE(&fs_param))
Index: e2fsprogs-1.39/lib/ext2fs/ext2_fs.h
===================================================================
--- e2fsprogs-1.39.orig/lib/ext2fs/ext2_fs.h 2006-08-23 16:41:24.000000000 +0200
+++ e2fsprogs-1.39/lib/ext2fs/ext2_fs.h 2006-08-23 18:04:43.000000000 +0200
@@ -561,31 +561,31 @@ struct ext2_super_block {
__u32 s_first_meta_bg; /* First metablock group */
__u32 s_mkfs_time; /* When the filesystem was created */
__u32 s_jnl_blocks[17]; /* Backup of the journal inode */
- /* 64bit support valid if EXT3_FEATURE_RO_COMPAT_64BIT */
+ /* 64bit support valid if EXT3_FEATURE_INCOMPAT_64BIT */
__u32 s_blocks_count_hi; /* Blocks count */
__u32 s_r_blocks_count_hi; /* Reserved blocks count */
__u32 s_free_blocks_count_hi; /* Free blocks count */
__u32 s_reserved[169]; /* Padding to the end of the block */
};
-#define EXT2_BLOCKS_COUNT(s) (((s)->s_feature_ro_compat & EXT2_FEATURE_RO_COMPAT_64BIT ? ((__u64)(s)->s_blocks_count_hi << 32) : 0) | (__u64)(s)->s_blocks_count)
+#define EXT2_BLOCKS_COUNT(s) (((s)->s_feature_incompat & EXT2_FEATURE_INCOMPAT_64BIT ? ((__u64)(s)->s_blocks_count_hi << 32) : 0) | (__u64)(s)->s_blocks_count)
#define EXT2_BLOCKS_COUNT_SET(s,v) do { \
(s)->s_blocks_count = (v); \
- if ((s)->s_feature_ro_compat & EXT2_FEATURE_RO_COMPAT_64BIT) \
+ if ((s)->s_feature_incompat & EXT2_FEATURE_INCOMPAT_64BIT) \
(s)->s_blocks_count_hi = ((__u64)(v)) >> 32; \
} while (0)
-#define EXT2_R_BLOCKS_COUNT(s) (((s)->s_feature_ro_compat & EXT2_FEATURE_RO_COMPAT_64BIT ? ((__u64)(s)->s_r_blocks_count_hi << 32) : 0) | (__u64)(s)->s_r_blocks_count)
+#define EXT2_R_BLOCKS_COUNT(s) (((s)->s_feature_incompat & EXT2_FEATURE_INCOMPAT_64BIT ? ((__u64)(s)->s_r_blocks_count_hi << 32) : 0) | (__u64)(s)->s_r_blocks_count)
#define EXT2_R_BLOCKS_COUNT_SET(s,v) do { \
(s)->s_r_blocks_count = (v); \
- if ((s)->s_feature_ro_compat & EXT2_FEATURE_RO_COMPAT_64BIT) \
+ if ((s)->s_feature_incompat & EXT2_FEATURE_INCOMPAT_64BIT) \
(s)->s_r_blocks_count_hi = ((__u64)(v)) >> 32; \
} while (0)
-#define EXT2_FREE_BLOCKS_COUNT(s) (((s)->s_feature_ro_compat & EXT2_FEATURE_RO_COMPAT_64BIT ? ((__u64)(s)->s_free_blocks_count_hi << 32) : 0) | (__u64)(s)->s_free_blocks_count)
+#define EXT2_FREE_BLOCKS_COUNT(s) (((s)->s_feature_incompat & EXT2_FEATURE_INCOMPAT_64BIT ? ((__u64)(s)->s_free_blocks_count_hi << 32) : 0) | (__u64)(s)->s_free_blocks_count)
#define EXT2_FREE_BLOCKS_COUNT_SET(s,v) do { \
(s)->s_free_blocks_count = (v); \
- if ((s)->s_feature_ro_compat & EXT2_FEATURE_RO_COMPAT_64BIT) \
+ if ((s)->s_feature_incompat & EXT2_FEATURE_INCOMPAT_64BIT) \
(s)->s_free_blocks_count_hi = ((__u64)(v)) >> 32; \
} while (0)
@@ -636,7 +636,6 @@ struct ext2_super_block {
#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
/* #define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 not used */
-#define EXT2_FEATURE_RO_COMPAT_64BIT 0x0010
#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001
#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002
@@ -644,14 +643,14 @@ struct ext2_super_block {
#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 /* Journal device */
#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010
#define EXT3_FEATURE_INCOMPAT_EXTENTS 0x0040
-
+#define EXT2_FEATURE_INCOMPAT_64BIT 0x0080
#define EXT2_FEATURE_COMPAT_SUPP 0
-#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE)
+#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \
+ EXT2_FEATURE_INCOMPAT_64BIT)
#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \
EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
- EXT2_FEATURE_RO_COMPAT_BTREE_DIR| \
- EXT2_FEATURE_RO_COMPAT_64BIT)
+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
/*
* Default values for user and/or group using reserved blocks
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642