]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
dm thin: return error from alloc_data_block if pool is not in write mode
authorJoe Thornber <ejt@redhat.com>
Thu, 5 Dec 2013 00:16:11 +0000 (19:16 -0500)
committerMike Snitzer <snitzer@redhat.com>
Tue, 17 Dec 2013 23:01:20 +0000 (18:01 -0500)
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-thin.c

index 70b02fdace3250319f73f897d605bfa0e78fef51..b721d7a636292a837b7787afebb2a1a480538002 100644 (file)
@@ -927,6 +927,9 @@ static int alloc_data_block(struct thin_c *tc, dm_block_t *result)
        if (pool->no_free_space)
                return -ENOSPC;
 
+       if (get_pool_mode(pool) != PM_WRITE)
+               return -EINVAL;
+
        r = dm_pool_get_free_block_count(pool->pmd, &free_blocks);
        if (r)
                return r;