dm.c (917fef6f7ee8b2fe852692ac49771342bfef9433) | dm.c (3a83f4677539bce8eaa2bca9ee9c20e172d7ab04) |
---|---|
1/* 2 * Copyright (C) 2001, 2002 Sistina Software (UK) Limited. 3 * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. 4 * 5 * This file is released under the GPL. 6 */ 7 8#include "dm-core.h" --- 1409 unchanged lines hidden (view full) --- 1418 destroy_workqueue(md->wq); 1419 if (md->kworker_task) 1420 kthread_stop(md->kworker_task); 1421 mempool_destroy(md->io_pool); 1422 mempool_destroy(md->rq_pool); 1423 if (md->bs) 1424 bioset_free(md->bs); 1425 | 1/* 2 * Copyright (C) 2001, 2002 Sistina Software (UK) Limited. 3 * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. 4 * 5 * This file is released under the GPL. 6 */ 7 8#include "dm-core.h" --- 1409 unchanged lines hidden (view full) --- 1418 destroy_workqueue(md->wq); 1419 if (md->kworker_task) 1420 kthread_stop(md->kworker_task); 1421 mempool_destroy(md->io_pool); 1422 mempool_destroy(md->rq_pool); 1423 if (md->bs) 1424 bioset_free(md->bs); 1425 |
1426 cleanup_srcu_struct(&md->io_barrier); 1427 |
|
1426 if (md->disk) { 1427 spin_lock(&_minor_lock); 1428 md->disk->private_data = NULL; 1429 spin_unlock(&_minor_lock); 1430 del_gendisk(md->disk); 1431 put_disk(md->disk); 1432 } 1433 1434 if (md->queue) 1435 blk_cleanup_queue(md->queue); 1436 | 1428 if (md->disk) { 1429 spin_lock(&_minor_lock); 1430 md->disk->private_data = NULL; 1431 spin_unlock(&_minor_lock); 1432 del_gendisk(md->disk); 1433 put_disk(md->disk); 1434 } 1435 1436 if (md->queue) 1437 blk_cleanup_queue(md->queue); 1438 |
1437 cleanup_srcu_struct(&md->io_barrier); 1438 | |
1439 if (md->bdev) { 1440 bdput(md->bdev); 1441 md->bdev = NULL; 1442 } 1443 1444 dm_mq_cleanup_mapped_device(md); 1445} 1446 --- 73 unchanged lines hidden (view full) --- 1520 md->wq = alloc_workqueue("kdmflush", WQ_MEM_RECLAIM, 0); 1521 if (!md->wq) 1522 goto bad; 1523 1524 md->bdev = bdget_disk(md->disk, 0); 1525 if (!md->bdev) 1526 goto bad; 1527 | 1439 if (md->bdev) { 1440 bdput(md->bdev); 1441 md->bdev = NULL; 1442 } 1443 1444 dm_mq_cleanup_mapped_device(md); 1445} 1446 --- 73 unchanged lines hidden (view full) --- 1520 md->wq = alloc_workqueue("kdmflush", WQ_MEM_RECLAIM, 0); 1521 if (!md->wq) 1522 goto bad; 1523 1524 md->bdev = bdget_disk(md->disk, 0); 1525 if (!md->bdev) 1526 goto bad; 1527 |
1528 bio_init(&md->flush_bio); | 1528 bio_init(&md->flush_bio, NULL, 0); |
1529 md->flush_bio.bi_bdev = md->bdev; | 1529 md->flush_bio.bi_bdev = md->bdev; |
1530 bio_set_op_attrs(&md->flush_bio, REQ_OP_WRITE, WRITE_FLUSH); | 1530 md->flush_bio.bi_opf = REQ_OP_WRITE | REQ_PREFLUSH; |
1531 1532 dm_stats_init(&md->stats); 1533 1534 /* Populate the mapping, nobody knows we exist yet */ 1535 spin_lock(&_minor_lock); 1536 old_md = idr_replace(&_minor_idr, md, minor); 1537 spin_unlock(&_minor_lock); 1538 --- 1219 unchanged lines hidden --- | 1531 1532 dm_stats_init(&md->stats); 1533 1534 /* Populate the mapping, nobody knows we exist yet */ 1535 spin_lock(&_minor_lock); 1536 old_md = idr_replace(&_minor_idr, md, minor); 1537 spin_unlock(&_minor_lock); 1538 --- 1219 unchanged lines hidden --- |