1
0
Fork 0
alistair23-linux/drivers/md
NeilBrown b74fd2826c md: fix loading of out-of-date bitmap.
When md is loading a bitmap which it knows is out of date, it fills
each page with 1s and writes it back out again.  However the
write_page call makes used of bitmap->file_pages and
bitmap->last_page_size which haven't been set correctly yet.  So this
can sometimes fail.

Move the setting of file_pages and last_page_size to before the call
to write_page.

This bug can cause the assembly on an array to fail, thus making the
data inaccessible.  Hence I think it is a suitable candidate for
-stable.

Cc: stable@kernel.org
Reported-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: NeilBrown <neilb@suse.de>
2009-05-07 12:47:19 +10:00
..
raid6test md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
Kconfig md: remove CONFIG_MD_RAID_RESHAPE config option. 2009-03-31 15:27:05 +11:00
Makefile md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
bitmap.c md: fix loading of out-of-date bitmap. 2009-05-07 12:47:19 +10:00
bitmap.h md: move headers out of include/linux/raid/ 2009-03-31 14:27:03 +11:00
dm-bio-record.h dm: preserve bi_io_vec when resubmitting bios 2009-04-02 19:55:23 +01:00
dm-crypt.c dm crypt: use kzfree 2009-04-02 19:55:28 +01:00
dm-delay.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-exception-store.c dm snapshot: move ctr parsing to exception store 2009-04-02 19:55:34 +01:00
dm-exception-store.h dm snapshot: move status to exception store 2009-04-02 19:55:35 +01:00
dm-io.c dm io: make sync_io uninterruptible 2009-04-02 19:55:24 +01:00
dm-ioctl.c dm: add integrity support 2009-04-09 00:27:12 +01:00
dm-kcopyd.c dm kcopyd: fix callback race 2009-04-09 00:27:17 +01:00
dm-linear.c dm: remove limited barrier support 2009-04-09 00:27:13 +01:00
dm-log.c dm log: remove struct dm_dirty_log_internal 2009-04-02 19:55:30 +01:00
dm-mpath.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-mpath.h dm mpath: remove is_active from struct dm_path 2008-10-10 13:36:58 +01:00
dm-path-selector.c dm: path selector use module refcount directly 2009-04-02 19:55:27 +01:00
dm-path-selector.h [PATCH] struct path: rename DM's struct path 2006-12-08 08:28:40 -08:00
dm-raid1.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-region-hash.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-round-robin.c dm: remove dm header from targets 2008-10-21 17:44:59 +01:00
dm-snap-persistent.c dm snapshot: persistent fix dtr cleanup 2009-04-02 19:55:35 +01:00
dm-snap-transient.c dm snapshot: move status to exception store 2009-04-02 19:55:35 +01:00
dm-snap.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm-stripe.c dm: consolidate target deregistration error handling 2009-01-06 03:04:58 +00:00
dm-sysfs.c dm: add name and uuid to sysfs 2009-01-06 03:05:12 +00:00
dm-table.c dm: remove limited barrier support 2009-04-09 00:27:13 +01:00
dm-target.c dm target: remove struct tt_internal 2009-04-02 19:55:28 +01:00
dm-uevent.c md: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
dm-uevent.h dm: uevent generate events 2007-10-20 02:01:26 +01:00
dm-zero.c dm: consolidate target deregistration error handling 2009-01-06 03:04:58 +00:00
dm.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
dm.h dm: remove limited barrier support 2009-04-09 00:27:13 +01:00
faulty.c md: centralize ->array_sectors modifications 2009-03-31 14:59:03 +11:00
linear.c md: centralize ->array_sectors modifications 2009-03-31 14:59:03 +11:00
linear.h md: move lots of #include lines out of .h files and into .c 2009-03-31 14:33:13 +11:00
md.c md: update sync_completed and reshape_position even more often. 2009-04-17 11:06:30 +10:00
md.h md: tiny md.h cleanups 2009-04-14 12:01:53 +10:00
mktables.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
multipath.c md: centralize ->array_sectors modifications 2009-03-31 14:59:03 +11:00
multipath.h md: move lots of #include lines out of .h files and into .c 2009-03-31 14:33:13 +11:00
raid0.c md: 'array_size' sysfs attribute 2009-03-31 15:00:31 +11:00
raid0.h md: move lots of #include lines out of .h files and into .c 2009-03-31 14:33:13 +11:00
raid1.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
raid1.h md: move lots of #include lines out of .h files and into .c 2009-03-31 14:33:13 +11:00
raid5.c md: update sync_completed and reshape_position even more often. 2009-04-17 11:06:30 +10:00
raid5.h md/raid5 revise rules for when to update metadata during reshape 2009-03-31 15:28:40 +11:00
raid6algos.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6altivec.uc md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6int.uc md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6mmx.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6recov.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6sse1.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6sse2.c md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
raid6x86.h md: fix typo in FSF address 2009-03-31 14:57:37 +11:00
raid10.c block: move bio list helpers into bio.h 2009-04-15 08:28:09 +02:00
raid10.h md: move lots of #include lines out of .h files and into .c 2009-03-31 14:33:13 +11:00
unroll.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00