super.c (789d21dbd9d8889e62c79ec19585fcc97e42ef07) super.c (0781c8748cf1ea2b0dcd966571103909528c4efa)
1/*
2 * bcache setup/teardown code, and some metadata io - read a superblock and
3 * figure out what to do with it.
4 *
5 * Copyright 2010, 2011 Kent Overstreet <kent.overstreet@gmail.com>
6 * Copyright 2012 Google, Inc.
7 */
8

--- 1070 unchanged lines hidden (view full) ---

1079
1080 if (atomic_read(&dc->running))
1081 bd_unlink_disk_holder(dc->bdev, dc->disk.disk);
1082 bcache_device_free(&dc->disk);
1083 list_del(&dc->list);
1084
1085 mutex_unlock(&bch_register_lock);
1086
1/*
2 * bcache setup/teardown code, and some metadata io - read a superblock and
3 * figure out what to do with it.
4 *
5 * Copyright 2010, 2011 Kent Overstreet <kent.overstreet@gmail.com>
6 * Copyright 2012 Google, Inc.
7 */
8

--- 1070 unchanged lines hidden (view full) ---

1079
1080 if (atomic_read(&dc->running))
1081 bd_unlink_disk_holder(dc->bdev, dc->disk.disk);
1082 bcache_device_free(&dc->disk);
1083 list_del(&dc->list);
1084
1085 mutex_unlock(&bch_register_lock);
1086
1087 if (!IS_ERR_OR_NULL(dc->bdev)) {
1088 if (dc->bdev->bd_disk)
1089 blk_sync_queue(bdev_get_queue(dc->bdev));
1090
1087 if (!IS_ERR_OR_NULL(dc->bdev))
1091 blkdev_put(dc->bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL);
1088 blkdev_put(dc->bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL);
1092 }
1093
1094 wake_up(&unregister_wait);
1095
1096 kobject_put(&dc->disk.kobj);
1097}
1098
1099static void cached_dev_flush(struct closure *cl)
1100{

--- 711 unchanged lines hidden (view full) ---

1812 free_fifo(&ca->free_inc);
1813
1814 for (i = 0; i < RESERVE_NR; i++)
1815 free_fifo(&ca->free[i]);
1816
1817 if (ca->sb_bio.bi_inline_vecs[0].bv_page)
1818 put_page(ca->sb_bio.bi_io_vec[0].bv_page);
1819
1089
1090 wake_up(&unregister_wait);
1091
1092 kobject_put(&dc->disk.kobj);
1093}
1094
1095static void cached_dev_flush(struct closure *cl)
1096{

--- 711 unchanged lines hidden (view full) ---

1808 free_fifo(&ca->free_inc);
1809
1810 for (i = 0; i < RESERVE_NR; i++)
1811 free_fifo(&ca->free[i]);
1812
1813 if (ca->sb_bio.bi_inline_vecs[0].bv_page)
1814 put_page(ca->sb_bio.bi_io_vec[0].bv_page);
1815
1820 if (!IS_ERR_OR_NULL(ca->bdev)) {
1821 blk_sync_queue(bdev_get_queue(ca->bdev));
1816 if (!IS_ERR_OR_NULL(ca->bdev))
1822 blkdev_put(ca->bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL);
1817 blkdev_put(ca->bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL);
1823 }
1824
1825 kfree(ca);
1826 module_put(THIS_MODULE);
1827}
1828
1829static int cache_alloc(struct cache_sb *sb, struct cache *ca)
1830{
1831 size_t free;

--- 294 unchanged lines hidden ---
1818
1819 kfree(ca);
1820 module_put(THIS_MODULE);
1821}
1822
1823static int cache_alloc(struct cache_sb *sb, struct cache *ca)
1824{
1825 size_t free;

--- 294 unchanged lines hidden ---