Skip to content
Snippets Groups Projects
Commit 94c6bea8 authored by Andreas Dilger's avatar Andreas Dilger
Browse files

Branch b1_6

b=13547, b=13627
Description: Data corruption for OSTs that are formatted larger than 2TB
             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
	     will overflow in a similar manner) but other file data or
	     filesystem metadata may be corrupted in some cases.
parent 01d424b1
No related branches found
No related tags found
No related merge requests found
...@@ -23,14 +23,14 @@ Severity : enhancement ...@@ -23,14 +23,14 @@ Severity : enhancement
Bugzilla : 11230 Bugzilla : 11230
Description: Tune the kernel for good SCSI performance. Description: Tune the kernel for good SCSI performance.
Details : Set the value of /sys/block/{dev}/queue/max_sectors_kb Details : Set the value of /sys/block/{dev}/queue/max_sectors_kb
to the value of /sys/block/{dev}/queue/max_hw_sectors_kb to the value of /sys/block/{dev}/queue/max_hw_sectors_kb
in mount_lustre. in mount_lustre.
Severity : normal Severity : normal
Bugzilla : 12411 Bugzilla : 12411
Description: Remove client patches from SLES 10 kernel. Description: Remove client patches from SLES 10 kernel.
Details : This causes SLES 10 clients to behave as patchless clients 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 Severity : minor
Bugzilla : 2369 Bugzilla : 2369
...@@ -41,8 +41,8 @@ Severity : normal ...@@ -41,8 +41,8 @@ Severity : normal
Bugzilla : 13600 Bugzilla : 13600
Description: "lfs find -obd UUID" prints directories Description: "lfs find -obd UUID" prints directories
Details : "lfs find -obd UUID" will return all directory names instead Details : "lfs find -obd UUID" will return all directory names instead
of just file names. It is incorrect because the directories of just file names. It is incorrect because the directories
do not reside on the OSTs. do not reside on the OSTs.
Severity : normal Severity : normal
Bugzilla : 13596 Bugzilla : 13596
...@@ -227,16 +227,16 @@ Severity : enhancement ...@@ -227,16 +227,16 @@ Severity : enhancement
Bugzilla : 2262 Bugzilla : 2262
Description: self-adjustable client's lru lists Description: self-adjustable client's lru lists
Details : use adaptive algorithm for managing client cached locks lru Details : use adaptive algorithm for managing client cached locks lru
lists according to current server load, other client's work lists according to current server load, other client's work
pattern, memory activities, etc. Both, server and client pattern, memory activities, etc. Both, server and client
side namespaces provide number of proc tunables for controlling side namespaces provide number of proc tunables for controlling
things things
Severity : cleanup Severity : cleanup
Bugzilla : 13532 Bugzilla : 13532
Description: rewrite ext2-derived code in llite/dir.c and obdclass/uuid.c Description: rewrite ext2-derived code in llite/dir.c and obdclass/uuid.c
Details : rewrite inherited code (uuid parsing code from ext2 utils and 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 Severity : normal
Bugzilla : 13436 Bugzilla : 13436
...@@ -248,9 +248,9 @@ Details : In open/enqueue processs, Some errors, which will cause client ...@@ -248,9 +248,9 @@ Details : In open/enqueue processs, Some errors, which will cause client
Severity : critical Severity : critical
Frequency : Always for filesystems larger than 2TB on 32-bit systems. 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 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 Details : When generating the bio request for lustre file writes the
sector number would overflow a temporary variable before being sector number would overflow a temporary variable before being
used for the IO. The data reads correctly from Lustre (which 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 ...@@ -260,10 +260,9 @@ Details : When generating the bio request for lustre file writes the
Severity : normal Severity : normal
Bugzilla : 13304 Bugzilla : 13304
Frequency : Always, for kernels after 2.6.16 Frequency : Always, for kernels after 2.6.16
Description: Fix warning idr_remove called for id=.. which is not Description: Fix warning idr_remove called for id=.. which is not allocated.
allocated.
Details : Last kernels save old s_dev before kill super and not allow 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.
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
......
...@@ -297,12 +297,13 @@ int filter_do_bio(struct obd_export *exp, struct inode *inode, ...@@ -297,12 +297,13 @@ int filter_do_bio(struct obd_export *exp, struct inode *inode,
continue; continue;
} }
sector = blocks[block_idx + i] << sector_bits; sector = (sector_t)blocks[block_idx + i] << sector_bits;
/* Additional contiguous file blocks? */ /* Additional contiguous file blocks? */
while (i + nblocks < blocks_per_page && while (i + nblocks < blocks_per_page &&
(sector + nblocks*(blocksize>>9)) == (sector + (nblocks << sector_bits)) ==
(blocks[block_idx + i + nblocks] << sector_bits)) ((sector_t)blocks[block_idx + i + nblocks] <<
sector_bits))
nblocks++; nblocks++;
#ifdef HAVE_PAGE_CONSTANT #ifdef HAVE_PAGE_CONSTANT
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment