net: s2io: simplify logical constraint
[deliverable/linux.git] / drivers / md / dm-thin-metadata.c
index 43824d73366d07723e09acd3b5007e46a64a6d32..a15091a0d40c2a48dc4567ec7dec8a52fbc1ab02 100644 (file)
@@ -1677,6 +1677,36 @@ int dm_pool_block_is_used(struct dm_pool_metadata *pmd, dm_block_t b, bool *resu
        return r;
 }
 
+int dm_pool_inc_data_range(struct dm_pool_metadata *pmd, dm_block_t b, dm_block_t e)
+{
+       int r = 0;
+
+       down_write(&pmd->root_lock);
+       for (; b != e; b++) {
+               r = dm_sm_inc_block(pmd->data_sm, b);
+               if (r)
+                       break;
+       }
+       up_write(&pmd->root_lock);
+
+       return r;
+}
+
+int dm_pool_dec_data_range(struct dm_pool_metadata *pmd, dm_block_t b, dm_block_t e)
+{
+       int r = 0;
+
+       down_write(&pmd->root_lock);
+       for (; b != e; b++) {
+               r = dm_sm_dec_block(pmd->data_sm, b);
+               if (r)
+                       break;
+       }
+       up_write(&pmd->root_lock);
+
+       return r;
+}
+
 bool dm_thin_changed_this_transaction(struct dm_thin_device *td)
 {
        int r;
This page took 0.026718 seconds and 5 git commands to generate.