summaryrefslogtreecommitdiff
path: root/drivers/md/dm-cache-metadata.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/dm-cache-metadata.c')
-rw-r--r--drivers/md/dm-cache-metadata.c64
1 files changed, 24 insertions, 40 deletions
diff --git a/drivers/md/dm-cache-metadata.c b/drivers/md/dm-cache-metadata.c
index 3970cda10080..27f2ef300f8b 100644
--- a/drivers/md/dm-cache-metadata.c
+++ b/drivers/md/dm-cache-metadata.c
@@ -867,55 +867,39 @@ static int blocks_are_unmapped_or_clean(struct dm_cache_metadata *cmd,
return 0;
}
-static bool cmd_write_lock(struct dm_cache_metadata *cmd)
-{
- down_write(&cmd->root_lock);
- if (cmd->fail_io || dm_bm_is_read_only(cmd->bm)) {
- up_write(&cmd->root_lock);
- return false;
+#define WRITE_LOCK(cmd) \
+ down_write(&cmd->root_lock); \
+ if (cmd->fail_io || dm_bm_is_read_only(cmd->bm)) { \
+ up_write(&cmd->root_lock); \
+ return -EINVAL; \
}
- return true;
-}
-
-#define WRITE_LOCK(cmd) \
- do { \
- if (!cmd_write_lock((cmd))) \
- return -EINVAL; \
- } while(0)
-#define WRITE_LOCK_VOID(cmd) \
- do { \
- if (!cmd_write_lock((cmd))) \
- return; \
- } while(0)
+#define WRITE_LOCK_VOID(cmd) \
+ down_write(&cmd->root_lock); \
+ if (cmd->fail_io || dm_bm_is_read_only(cmd->bm)) { \
+ up_write(&cmd->root_lock); \
+ return; \
+ }
#define WRITE_UNLOCK(cmd) \
- up_write(&(cmd)->root_lock)
+ up_write(&cmd->root_lock)
-static bool cmd_read_lock(struct dm_cache_metadata *cmd)
-{
- down_read(&cmd->root_lock);
- if (cmd->fail_io) {
- up_read(&cmd->root_lock);
- return false;
+#define READ_LOCK(cmd) \
+ down_read(&cmd->root_lock); \
+ if (cmd->fail_io || dm_bm_is_read_only(cmd->bm)) { \
+ up_read(&cmd->root_lock); \
+ return -EINVAL; \
}
- return true;
-}
-
-#define READ_LOCK(cmd) \
- do { \
- if (!cmd_read_lock((cmd))) \
- return -EINVAL; \
- } while(0)
-#define READ_LOCK_VOID(cmd) \
- do { \
- if (!cmd_read_lock((cmd))) \
- return; \
- } while(0)
+#define READ_LOCK_VOID(cmd) \
+ down_read(&cmd->root_lock); \
+ if (cmd->fail_io || dm_bm_is_read_only(cmd->bm)) { \
+ up_read(&cmd->root_lock); \
+ return; \
+ }
#define READ_UNLOCK(cmd) \
- up_read(&(cmd)->root_lock)
+ up_read(&cmd->root_lock)
int dm_cache_resize(struct dm_cache_metadata *cmd, dm_cblock_t new_cache_size)
{