Revision 1: Use %llu not %Lu in sscanf/printf format strings. Signed-Off-By: Alasdair G Kergon Revision 2: Store the struct block_device while device is frozen, saving us one call to bdget_disk(). Signed-Off-By: Alasdair G Kergon From: Christoph Hellwig [Submitted upstream] Revision 3: Make __unlock_fs() void. From: Christoph Hellwig [Submitted upstream] Revision 4: Allow freeze_bdev() to return an error. Signed-Off-By: Alasdair G Kergon From: Christoph Hellwig [Submitted upstream] Revision 5: In future __lock_fs() may return an error: handle it. Signed-Off-By: Alasdair G Kergon From: Christoph Hellwig [Submitted upstream] Revision 6: Tidy dm_suspend. Signed-Off-By: Alasdair G Kergon From: Christoph Hellwig [Submitted upstream] Revision 7: Handle writes to a snapshot-origin device that has been extended since the snapshot was taken. Revision 8: More snapshot metadata reading into separate function, in preparation for calling it from elsewhere. Signed-Off-By: Alasdair G Kergon Revision 9: Move snapshot metadata loading to happen when table is created instead of when device is resumed. Origin writes don't trigger exceptions until snapshot table becomes active (when resume() is called on snapshot). NB This patch may break some existing LVM2 and EVMS operations. Revision 10: Flakey. Revision 11: dm-mpath.c needs to use a private workqueue (like other dm targets already do) to avoid interfering with users of the default workqueue. Signed-Off-By: Alasdair G Kergon Acked-by: Jens Axboe Signed-off-by: Lars Marowsky-Bree Signed-off-by: mikenc@us.ibm.com [Submitted upstream] Revision 12: Make the sense data available in the bio end_io path on request. Signed-off-by: Lars Marowsky-Bree Signed-off-by: Jens Axboe Revision 13: Use the sense data in the dm-mpath hardware handlers. Signed-off-by: Lars Marowsky-Bree Revision 14: The dm emc hardware handler code memset the hardware handler structure to zero AFTER it had initialized the structure's spinlock field. Signed-Off-By: Alasdair G Kergon From: Dave Olien [Submitted upstream] Revision 15: This patch makes some needlessly global code static. Signed-Off-By: Alasdair G Kergon Signed-off-by: Adrian Bunk [Submitted upstream] Revision 16: dm multipath will report barriers as not supported with this patch. Signed-off-by: Lars Marowsky-Bree Revision 17: DM multipath error messages were beyond useless. From: Lars Marowsky-Bree Revision 18: mm kgdb Revision 19: fix compilation: dm-mpath 'mpio->pgpath' in errmesg Revision 20: fix last patch Revision 21: Invoke generic scsi error decoder if no alternative handler was specified. This is safe as dm_scsi_err_handler() will only act on SCSI errors with valid sense data. Signed-Off-By: Alasdair G Kergon Signed-off-by: Lars Marowsky-Bree Revision 22: Export dm_table_get_size. Combine with snapshot patch. Revision 23: commit 990a8baf568ca1d0ae65e59783ff821794118d07 tree 1fe187b2f119f7a9d96d56380b211f9ddb9f8390 parent 8a5e9cf1d6626586ff08e49f400a006a9f0c3275 author Jesper Juhl Tue, 21 Jun 2005 17:17:30 -0700 committer Linus Torvalds Tue, 21 Jun 2005 19:07:48 -0700 [PATCH] md: remove unneeded NULL checks before kfree This patch removes some unneeded checks of pointers being NULL before calling kfree() on them. kfree() handles NULL pointers just fine, checking first is pointless. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [Upstream] Revision 24: commit bd53b714d32a29bdf33009f812e295667e92b930 tree b8b6e72fcda7b40d2273498bfa16ba53e15e7917 parent 20a77776c24800d1e40a73f520cfcb32239568a9 author Nick Piggin Sun, 01 May 2005 08:58:37 -0700 committer Linus Torvalds Sun, 01 May 2005 08:58:37 -0700 [PATCH] mm: use __GFP_NOMEMALLOC Use the new __GFP_NOMEMALLOC to simplify the previous handling of PF_MEMALLOC. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [Upstream] Revision 25: commit 543537bd922692bc978e2e356fcd8bfc9c2ee7d5 tree 0089e3907e7d6c17c01cffc6ea4a8962ed053079 parent 991114c6fa6a21d1fa4d544abe78592352860c82 author Paulo Marques Thu, 23 Jun 2005 00:09:02 -0700 committer Linus Torvalds Thu, 23 Jun 2005 09:45:18 -0700 [PATCH] create a kstrdup library function This patch creates a new kstrdup library function and changes the "local" implementations in several places to use this function. Most of the changes come from the sound and net subsystems. The sound part had already been acknowledged by Takashi Iwai and the net part by David S. Miller. I left UML alone for now because I would need more time to read the code carefully before making changes there. Signed-off-by: Paulo Marques Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [Upstream] Revision 26: commit 4f58802fae8a51d9e79454746584175c14f84519 tree 022533cfacde17b54e8f9b7ac3f12c82ed1c48be parent 05062d96a23ec0959ee5ea969f40813170c73c0e author Lars Marowsky-Bree Wed, 08 Jun 2005 15:50:31 -0700 committer Linus Torvalds Wed, 08 Jun 2005 16:21:14 -0700 [PATCH] dm: Handle READA requests in dm-mpath.c READA errors failing with EWOULDBLOCK/EAGAIN do not constitute a valid reason for failing the path; this lead to erratic errors on DM multipath devices. This error can be safely propagated upwards without failing the path. Acked-by: Kevin Corry Acked-by: Jens Axboe Signed-off-by: Lars Marowsky-Bree Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [Upstream] Revision 27: From: "Jun'ichi Nomura" Fix another bug in dm-raid1.c that the dirty region may stay in or be moved to clean list and freed while in use. It happens as follows: CPU0 CPU1 ------------------------------------------------------------------------------ rh_dec() if (atomic_dec_and_test(pending)) rh_inc() if the region is clean mark the region dirty and remove from clean list mark the region clean and move to clean list atomic_inc(pending) At this stage, the region is in clean list and will be mistakenly reclaimed by rh_update_states() later. Signed-off-by: Jun'ichi Nomura Signed-off-by: Andrew Morton --- drivers/md/dm-raid1.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) [Upstream -mm] Revision 28: From: "Jun'ichi Nomura" Fix the bug in dm-raid1.c that the region returned by __rh_alloc() may be freed while it's in use. __rh_alloc() write-unlocks the hash_lock after inserting the new region. Though it read-locks the hash-lock just after that, it's possible that the region was reclaimed by rh_update_states() as the region was clean at the time. CPU0 CPU1 ----------------------------------------------------------------------- __rh_alloc() write_lock(hash_lock) write_unlock(hash_lock) rh_update_states() write_lock(hash_lock) write_unlock(hash_lock) read_lock(hash_lock) Signed-off-by: Jun'ichi Nomura Signed-off-by: Andrew Morton --- drivers/md/dm-raid1.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) [Upstream -mm] Revision 29: Set the target's split_io field when building a dm-mirror device so incoming bio's won't span the mirror's internal regions. From: Kevin Corry