diff options
author | Mike Snitzer <snitzer@redhat.com> | 2016-04-12 12:14:46 -0400 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2016-04-14 17:34:49 -0400 |
commit | 9567366fefddeaea4ed1d713270535d93a3b3c76 (patch) | |
tree | 92829c59c613f72cedc01fb14685915bce060468 /ipc | |
parent | 072623de1f964c7ff01c46a9101af1c822fd2873 (diff) | |
download | linux-9567366fefddeaea4ed1d713270535d93a3b3c76.tar.bz2 |
dm cache metadata: fix READ_LOCK macros and cleanup WRITE_LOCK macros
The READ_LOCK macro was incorrectly returning -EINVAL if
dm_bm_is_read_only() was true -- it will always be true once the cache
metadata transitions to read-only by dm_cache_metadata_set_read_only().
Wrap READ_LOCK and WRITE_LOCK multi-statement macros in do {} while(0).
Also, all accesses of the 'cmd' argument passed to these related macros
are now encapsulated in parenthesis.
A follow-up patch can be developed to eliminate the use of macros in
favor of pure C code. Avoiding that now given that this needs to apply
to stable@.
Reported-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Fixes: d14fcf3dd79 ("dm cache: make sure every metadata function checks fail_io")
Cc: stable@vger.kernel.org
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions