Whamcloud - gitweb
- fix against b2021
authoralex <alex>
Fri, 17 Oct 2003 14:45:38 +0000 (14:45 +0000)
committeralex <alex>
Fri, 17 Oct 2003 14:45:38 +0000 (14:45 +0000)
lustre/kernel_patches/patches/ext3-map_inode_page-2.6.0.patch
lustre/kernel_patches/patches/ext3-map_inode_page_2.4.18.patch

index 1a37580..675d54e 100644 (file)
@@ -20,7 +20,7 @@
 +
 +        blocksize = inode->i_sb->s_blocksize;
 +        blocks_per_page = PAGE_SIZE >> inode->i_sb->s_blocksize_bits;
-+        iblock = page->index >> (PAGE_SHIFT - inode->i_sb->s_blocksize_bits);
++        iblock = page->index * blocks_per_page;
 +
 +        for (i = 0; i < blocks_per_page; i++, iblock++) {
 +                blocks[i] = ext3_bmap(inode->i_mapping, iblock);
@@ -40,7 +40,7 @@
 +        if (IS_ERR(handle))
 +                return PTR_ERR(handle);
 +
-+        iblock = page->index >> (PAGE_SHIFT - inode->i_sb->s_blocksize_bits);
++        iblock = page->index * blocks_per_page;
 +        for (i = 0; i < blocks_per_page; i++, iblock++) {
 +                if (blocks[i] != 0)
 +                        continue;
index b56b7b0..0a0f7f3 100644 (file)
@@ -5,11 +5,25 @@
  fs/ext3/inode.c        |   55 +++++++++++++++++++++++++++++++++++++++++++++++++
  2 files changed, 58 insertions(+)
 
-Index: linux-2.4.18-p4smp/fs/ext3/inode.c
-===================================================================
---- linux-2.4.18-p4smp.orig/fs/ext3/inode.c    Fri Jul 25 15:47:03 2003
-+++ linux-2.4.18-p4smp/fs/ext3/inode.c Fri Jul 25 15:47:04 2003
-@@ -3004,3 +3004,58 @@
+--- linux-2.4.18-chaos/fs/ext3/ext3-exports.c~ext3-map_inode_page_2.4.18       2003-10-17 14:38:21.000000000 +0400
++++ linux-2.4.18-chaos-alexey/fs/ext3/ext3-exports.c   2003-10-17 14:38:22.000000000 +0400
+@@ -9,6 +9,8 @@
+ int ext3_prep_san_write(struct inode *inode, long *blocks,
+                       int nblocks, loff_t newsize);
++int ext3_map_inode_page(struct inode *inode, struct page *page,
++                        unsigned long *block, int *created, int create);
+ EXPORT_SYMBOL(ext3_force_commit);
+ EXPORT_SYMBOL(ext3_bread);
+@@ -18,3 +20,4 @@ EXPORT_SYMBOL(ext3_xattr_get);
+ EXPORT_SYMBOL(ext3_xattr_list);
+ EXPORT_SYMBOL(ext3_xattr_set);
+ EXPORT_SYMBOL(ext3_prep_san_write);
++EXPORT_SYMBOL(ext3_map_inode_page);
+--- linux-2.4.18-chaos/fs/ext3/inode.c~ext3-map_inode_page_2.4.18      2003-10-17 14:38:21.000000000 +0400
++++ linux-2.4.18-chaos-alexey/fs/ext3/inode.c  2003-10-17 14:38:22.000000000 +0400
+@@ -3004,3 +3004,58 @@ int ext3_prep_san_write(struct inode *in
                ret = ret2;
        return ret;
  }
@@ -25,7 +39,7 @@ Index: linux-2.4.18-p4smp/fs/ext3/inode.c
 +
 +        blocksize = inode->i_sb->s_blocksize;
 +        blocks_per_page = PAGE_SIZE >> inode->i_sb->s_blocksize_bits;
-+        iblock = page->index >> (PAGE_SHIFT - inode->i_sb->s_blocksize_bits);
++        iblock = page->index * blocks_per_page;
 +
 +        for (i = 0; i < blocks_per_page; i++, iblock++) {
 +                blocks[i] = ext3_bmap(inode->i_mapping, iblock);
@@ -47,7 +61,7 @@ Index: linux-2.4.18-p4smp/fs/ext3/inode.c
 +        if (IS_ERR(handle))
 +                return PTR_ERR(handle);
 +
-+        iblock = page->index >> (PAGE_SHIFT - inode->i_sb->s_blocksize_bits);
++        iblock = page->index * blocks_per_page;
 +        for (i = 0; i < blocks_per_page; i++, iblock++) {
 +                if (blocks[i] != 0)
 +                        continue;
@@ -68,33 +82,5 @@ Index: linux-2.4.18-p4smp/fs/ext3/inode.c
 +      unlock_kernel();
 +        return rc;
 +}
-Index: linux-2.4.18-p4smp/fs/ext3/ext3-exports.c
-===================================================================
---- linux-2.4.18-p4smp.orig/fs/ext3/ext3-exports.c     Fri Jul 25 15:47:03 2003
-+++ linux-2.4.18-p4smp/fs/ext3/ext3-exports.c  Fri Jul 25 15:47:04 2003
-@@ -9,6 +9,8 @@
- int ext3_prep_san_write(struct inode *inode, long *blocks,
-                       int nblocks, loff_t newsize);
-+int ext3_map_inode_page(struct inode *inode, struct page *page,
-+                        unsigned long *block, int *created, int create);
- EXPORT_SYMBOL(ext3_force_commit);
- EXPORT_SYMBOL(ext3_bread);
-@@ -18,3 +20,4 @@
- EXPORT_SYMBOL(ext3_xattr_list);
- EXPORT_SYMBOL(ext3_xattr_set);
- EXPORT_SYMBOL(ext3_prep_san_write);
-+EXPORT_SYMBOL(ext3_map_inode_page);
-Index: linux-2.4.18-p4smp/include/linux/mm.h
-===================================================================
---- linux-2.4.18-p4smp.orig/include/linux/mm.h Fri Jul 25 15:48:31 2003
-+++ linux-2.4.18-p4smp/include/linux/mm.h      Fri Jul 25 15:49:41 2003
-@@ -186,6 +186,7 @@
-       void *virtual;                  /* Kernel virtual address (NULL if
-                                          not kmapped, ie. highmem) */
- #endif /* CONFIG_HIGHMEM || CONFIG_SPARC64 */
-+      unsigned long private;
- } mem_map_t;
- /*
+
+_