diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index 6a89ad04aa72d906ce3cf863687cfdafbcfafa92..b5a06df55ab8ec5562db28fc00b93992d014d9ed 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -23,14 +23,14 @@ Severity   : enhancement
 Bugzilla   : 11230
 Description: Tune the kernel for good SCSI performance. 
 Details    : Set the value of /sys/block/{dev}/queue/max_sectors_kb
-             to the value of /sys/block/{dev}/queue/max_hw_sectors_kb
-             in mount_lustre.
+	     to the value of /sys/block/{dev}/queue/max_hw_sectors_kb
+	     in mount_lustre.
 
 Severity   : normal
 Bugzilla   : 12411
 Description: Remove client patches from SLES 10 kernel.
 Details    : This causes SLES 10 clients to behave as patchless clients
-             even on a Lustre-patched (server) kernel.
+	     even on a Lustre-patched (server) kernel.
 
 Severity   : minor
 Bugzilla   : 2369 
@@ -41,8 +41,8 @@ Severity   : normal
 Bugzilla   : 13600
 Description: "lfs find -obd UUID" prints directories
 Details    : "lfs find -obd UUID" will return all directory names instead
-             of just file names. It is incorrect because the directories
-             do not reside on the OSTs.
+	     of just file names. It is incorrect because the directories
+	     do not reside on the OSTs.
 
 Severity   : normal
 Bugzilla   : 13596
@@ -227,16 +227,16 @@ Severity   : enhancement
 Bugzilla   : 2262
 Description: self-adjustable client's lru lists
 Details    : use adaptive algorithm for managing client cached locks lru 
-             lists according to current server load, other client's work
-             pattern, memory activities, etc. Both, server and client 
-             side namespaces provide number of proc tunables for controlling 
-             things
+	     lists according to current server load, other client's work
+	     pattern, memory activities, etc. Both, server and client 
+	     side namespaces provide number of proc tunables for controlling 
+	     things
 
 Severity   : cleanup
 Bugzilla   : 13532
 Description: rewrite ext2-derived code in llite/dir.c and obdclass/uuid.c
 Details    : rewrite inherited code (uuid parsing code from ext2 utils and
-             readdir code from ext3) from scratch preserving functionality.
+	     readdir code from ext3) from scratch preserving functionality.
 
 Severity   : normal 
 Bugzilla   : 13436
@@ -248,9 +248,9 @@ Details    : In open/enqueue processs, Some errors, which will cause client
 
 Severity   : critical
 Frequency  : Always for filesystems larger than 2TB on 32-bit systems.
-Bugzilla   : 13547
+Bugzilla   : 13547, 13627
 Description: Data corruption for OSTs that are formatted larger than 2TB
-             on 32-bit servers.
+	     on 32-bit servers.
 Details    : When generating the bio request for lustre file writes the
 	     sector number would overflow a temporary variable before being
 	     used for the IO.  The data reads correctly from Lustre (which
@@ -260,10 +260,9 @@ Details    : When generating the bio request for lustre file writes the
 Severity   : normal
 Bugzilla   : 13304
 Frequency  : Always, for kernels after 2.6.16
-Description: Fix warning idr_remove called for id=.. which is not
-             allocated.
+Description: Fix warning idr_remove called for id=.. which is not allocated.
 Details    : Last kernels save old s_dev before kill super and not allow 
-             to restore from callback - restore it before call kill_anon_super.
+	      to restore from callback - restore it before call kill_anon_super.
 
 --------------------------------------------------------------------------------
 
diff --git a/lustre/obdfilter/filter_io_26.c b/lustre/obdfilter/filter_io_26.c
index 2af91fe3763f89e83a310a15d3de3d89eef5f2cb..29b12e2b18583bd99f9f8d759905e46162384349 100644
--- a/lustre/obdfilter/filter_io_26.c
+++ b/lustre/obdfilter/filter_io_26.c
@@ -297,12 +297,13 @@ int filter_do_bio(struct obd_export *exp, struct inode *inode,
                                 continue;
                         }
 
-                        sector = blocks[block_idx + i] << sector_bits;
+                        sector = (sector_t)blocks[block_idx + i] << sector_bits;
 
                         /* Additional contiguous file blocks? */
                         while (i + nblocks < blocks_per_page &&
-                               (sector + nblocks*(blocksize>>9)) ==
-                               (blocks[block_idx + i + nblocks] << sector_bits))
+                               (sector + (nblocks << sector_bits)) ==
+                               ((sector_t)blocks[block_idx + i + nblocks] <<
+                                sector_bits))
                                 nblocks++;
 
 #ifdef HAVE_PAGE_CONSTANT