X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=ldiskfs%2Fkernel_patches%2Fpatches%2Fext3-nanosecond-2.6-suse.patch;h=7824114a60b9c1f68a299781c82f1046364c626e;hb=b9b8287ac064dee506041f952e1b529a53f3258e;hp=2f90bc2d5d95e844a7a6c85eef5c0a585859d55e;hpb=c8dbc360843d798bba48a96bf1bde618533a1270;p=fs%2Flustre-release.git diff --git a/ldiskfs/kernel_patches/patches/ext3-nanosecond-2.6-suse.patch b/ldiskfs/kernel_patches/patches/ext3-nanosecond-2.6-suse.patch index 2f90bc2..7824114 100644 --- a/ldiskfs/kernel_patches/patches/ext3-nanosecond-2.6-suse.patch +++ b/ldiskfs/kernel_patches/patches/ext3-nanosecond-2.6-suse.patch @@ -128,28 +128,41 @@ Index: linux-2.6.5-7.283/include/linux/ext3_fs.h #if defined(__KERNEL__) || defined(__linux__) #define i_reserved1 osd1.linux1.l_i_reserved1 #define i_frag osd2.linux2.l_i_frag -@@ -464,7 +479,9 @@ struct ext3_super_block { - __u16 s_reserved_word_pad; +@@ -460,11 +475,19 @@ struct ext3_super_block { + __u32 s_last_orphan; /* start of list of inodes to delete */ + __u32 s_hash_seed[4]; /* HTREE hash seed */ + __u8 s_def_hash_version; /* Default hash version to use */ +- __u8 s_reserved_char_pad; +- __u16 s_reserved_word_pad; ++ __u8 s_jnl_backup_type; /* Default type of journal backup */ ++ __u16 s_desc_size; /* Group desc. size: INCOMPAT_64BIT */ __u32 s_default_mount_opts; - __u32 s_first_meta_bg; /* First metablock block group */ +- __u32 s_first_meta_bg; /* First metablock block group */ - __u32 s_reserved[190]; /* Padding to the end of the block */ -+ __le16 s_min_extra_isize; /* All inodes have at least # bytes */ -+ __le16 s_want_extra_isize; /* New inodes should reserve # bytes */ -+ __u32 s_reserved[189]; /* Padding to the end of the block */ ++ __u32 s_first_meta_bg; /* First metablock block group */ ++ __u32 s_mkfs_time; /* When the filesystem was created */ ++ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */ ++ __u32 s_blocks_count_hi; /* Blocks count high 32 bits */ ++ __u32 s_r_blocks_count_hi; /* Reserved blocks count high 32 bits*/ ++ __u32 s_free_blocks_hi; /* Free blocks count high 32 bits */ ++ __u16 s_min_extra_isize; /* All inodes have at least # bytes */ ++ __u16 s_want_extra_isize; /* New inodes should reserve # bytes */ ++ __u32 s_flags; /* Miscellaneous flags */ ++ __u32 s_reserved[167]; /* Padding to the end of the block */ }; #ifdef __KERNEL__ @@ -539,6 +556,7 @@ static inline struct ext3_inode_info *EX - #define EXT3_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 #define EXT3_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 + #define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010 #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020 +#define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040 #define EXT3_FEATURE_INCOMPAT_COMPRESSION 0x0001 #define EXT3_FEATURE_INCOMPAT_FILETYPE 0x0002 @@ -555,6 +573,7 @@ static inline struct ext3_inode_info *EX - #define EXT3_FEATURE_RO_COMPAT_SUPP (EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER| \ EXT3_FEATURE_RO_COMPAT_LARGE_FILE| \ + EXT4_FEATURE_RO_COMPAT_GDT_CSUM| \ EXT4_FEATURE_RO_COMPAT_DIR_NLINK| \ + EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE| \ EXT3_FEATURE_RO_COMPAT_BTREE_DIR) @@ -159,24 +172,24 @@ Index: linux-2.6.5-7.283/include/linux/ext3_fs_i.h =================================================================== --- linux-2.6.5-7.283.orig/include/linux/ext3_fs_i.h +++ linux-2.6.5-7.283/include/linux/ext3_fs_i.h -@@ -131,6 +131,7 @@ struct ext3_inode_info { - struct inode vfs_inode; +@@ -130,6 +130,7 @@ struct ext3_inode_info { - struct ext3_ext_cache i_cached_extent; + /* on-disk additional length */ + __u16 i_extra_isize; + struct timespec i_crtime; - }; - #endif /* _LINUX_EXT3_FS_I */ + /* + * truncate_sem is for serialising ext3_truncate() against Index: linux-2.6.5-7.283/include/linux/ext3_fs_sb.h =================================================================== --- linux-2.6.5-7.283.orig/include/linux/ext3_fs_sb.h +++ linux-2.6.5-7.283/include/linux/ext3_fs_sb.h -@@ -119,6 +119,8 @@ struct ext3_sb_info { - spinlock_t s_bal_lock; - unsigned long s_mb_buddies_generated; - unsigned long long s_mb_generation_time; -+ -+ unsigned int s_want_extra_isize; /* New inodes should reserve # bytes */ - }; +@@ -71,6 +71,8 @@ struct ext3_sb_info { + /* Last group used to allocate inode */ + int s_last_alloc_group; - #define EXT3_GROUP_INFO(sb, group) \ ++ unsigned int s_want_extra_isize; /* New inodes should reserve # bytes */ ++ + /* root of the per fs reservation window tree */ + spinlock_t s_rsv_window_lock; + struct rb_root s_rsv_window_root;