From: Chris Mason Date: Tue, 5 Aug 2008 14:13:57 +0000 (-0400) Subject: Btrfs: Fix the multi-bio code to save the original bio for completion X-Git-Tag: v2.6.29-rc1~27^2~9^2~55^2~56^2~30^2~63 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d2b4daa67379960477568abda62b8ba9ee3a8aa;p=pandora-kernel.git Btrfs: Fix the multi-bio code to save the original bio for completion The multi-bio code is responsible for duplicating blocks in raid1 and single spindle duplication. It has counters to make sure all of the locations for a given extent are properly written before io completion is returned to the higher layers. But, it didn't always complete the same bio it was given, sometimes a clone was completed instead. This lead to problems with the async work queues because they saved a pointer to the bio in a struct off bi_private. The fix is to remember the original bio and only complete that one. Signed-off-by: Chris Mason --- Reading git-diff-tree failed