]> git.hungrycats.org Git - linux/commit
dm: fix missed error code if .end_io isn't implemented by target_type
authorzhendong chen <alex.chen@huawei.com>
Wed, 17 Dec 2014 06:37:04 +0000 (14:37 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Jan 2015 16:29:39 +0000 (08:29 -0800)
commit31b6929b577d0f4594967029944ca95ef256312f
tree29c12b01b0eccf8cc58ce5f7ef61b6078e8a1a9d
parent3b7dd6ec0f620bf8a7a3b2e9bed89e1728e3872b
dm: fix missed error code if .end_io isn't implemented by target_type

commit 5164bece1673cdf04782f8ed3fba70743700f5da upstream.

In bio-based DM's clone_endio(), when target_type doesn't implement
.end_io (e.g. linear) r will be always be initialized 0.  So if a
WRITE SAME bio fails WRITE SAME will not be disabled as intended.

Fix this by initializing r to error, rather than 0, in clone_endio().

Signed-off-by: Alex Chen <alex.chen@huawei.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Fixes: 7eee4ae2db ("dm: disable WRITE SAME if it fails")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/dm.c