summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-04-17 21:30:06 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2016-04-17 21:30:06 +0200
commit9d090d01e3efdcdb8f7f07e86fcac91e01ae30cd (patch)
tree682aa81166cf120ef72e4d402fdd5a2c3cc2e179
parentMerge tag 'char-misc-4.6-rc4' of git://git.kernel.org/pub/scm/linux/kernel/gi... (diff)
parentdm cache metadata: fix cmd_read_lock() acquiring write lock (diff)
downloadlinux-9d090d01e3efdcdb8f7f07e86fcac91e01ae30cd.tar.xz
linux-9d090d01e3efdcdb8f7f07e86fcac91e01ae30cd.zip
Merge tag 'dm-4.6-fix-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper fix from Mike Snitzer: "Fix for earlier 4.6-rc4 stable@ commit that introduced improper use of write lock in cmd_read_lock() -- due to cut-n-paste gone awry (and sparse didn't catch it)" * tag 'dm-4.6-fix-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm cache metadata: fix cmd_read_lock() acquiring write lock
-rw-r--r--drivers/md/dm-cache-metadata.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/dm-cache-metadata.c b/drivers/md/dm-cache-metadata.c
index 65ce6985f87a..3970cda10080 100644
--- a/drivers/md/dm-cache-metadata.c
+++ b/drivers/md/dm-cache-metadata.c
@@ -894,9 +894,9 @@ static bool cmd_write_lock(struct dm_cache_metadata *cmd)
static bool cmd_read_lock(struct dm_cache_metadata *cmd)
{
- down_write(&cmd->root_lock);
+ down_read(&cmd->root_lock);
if (cmd->fail_io) {
- up_write(&cmd->root_lock);
+ up_read(&cmd->root_lock);
return false;
}
return true;