Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[sfrench/cifs-2.6.git] / drivers / md / bcache / writeback.h
index 629bd1a502fdf03b291aad194d17847491e4a7e6..e35421d20d2eb32b75d48707fe00ecb7f4fdfb72 100644 (file)
@@ -14,6 +14,25 @@ static inline uint64_t bcache_dev_sectors_dirty(struct bcache_device *d)
        return ret;
 }
 
+static inline uint64_t  bcache_flash_devs_sectors_dirty(struct cache_set *c)
+{
+       uint64_t i, ret = 0;
+
+       mutex_lock(&bch_register_lock);
+
+       for (i = 0; i < c->nr_uuids; i++) {
+               struct bcache_device *d = c->devices[i];
+
+               if (!d || !UUID_FLASH_ONLY(&c->uuids[i]))
+                       continue;
+          ret += bcache_dev_sectors_dirty(d);
+       }
+
+       mutex_unlock(&bch_register_lock);
+
+       return ret;
+}
+
 static inline unsigned offset_to_stripe(struct bcache_device *d,
                                        uint64_t offset)
 {
@@ -84,7 +103,7 @@ static inline void bch_writeback_add(struct cached_dev *dc)
 
 void bcache_dev_sectors_dirty_add(struct cache_set *, unsigned, uint64_t, int);
 
-void bch_sectors_dirty_init(struct cached_dev *dc);
+void bch_sectors_dirty_init(struct bcache_device *);
 void bch_cached_dev_writeback_init(struct cached_dev *);
 int bch_cached_dev_writeback_start(struct cached_dev *);