md/raid10: fix bug when raid10 recovery fails to recover a block.
[firefly-linux-kernel-4.4.55.git] / drivers / md / dm-thin.c
index 88f2f802d528be23b8e64c26085913677082be03..e36f81e282eb373d402487d9f80acd0ab0d113f6 100644 (file)
@@ -640,7 +640,9 @@ static void process_prepared_mapping(struct dm_thin_new_mapping *m)
         */
        r = dm_thin_insert_block(tc->td, m->virt_block, m->data_block);
        if (r) {
-               DMERR_LIMIT("dm_thin_insert_block() failed");
+               DMERR_LIMIT("%s: dm_thin_insert_block() failed: error = %d",
+                           dm_device_name(pool->pool_md), r);
+               set_pool_mode(pool, PM_READ_ONLY);
                cell_error(pool, m->cell);
                goto out;
        }