dm.c (1ddd641ddcfa46d719189468b6856e9b17381a61) | dm.c (be35f486108227e10fe5d96fd42fb2b344c59983) |
---|---|
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.h" --- 189 unchanged lines hidden (view full) --- 198 struct block_device *bdev; 199 200 /* forced geometry settings */ 201 struct hd_geometry geometry; 202 203 /* sysfs handle */ 204 struct kobject kobj; 205 | 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.h" --- 189 unchanged lines hidden (view full) --- 198 struct block_device *bdev; 199 200 /* forced geometry settings */ 201 struct hd_geometry geometry; 202 203 /* sysfs handle */ 204 struct kobject kobj; 205 |
206 /* wait until the kobject is released */ 207 struct completion kobj_completion; 208 |
|
206 /* zero-length flush that will be cloned and submitted to targets */ 207 struct bio flush_bio; 208 209 struct dm_stats stats; 210}; 211 212/* 213 * For mempools pre-allocation at the table loading time. --- 1822 unchanged lines hidden (view full) --- 2036 if (!md->disk) 2037 goto bad_disk; 2038 2039 atomic_set(&md->pending[0], 0); 2040 atomic_set(&md->pending[1], 0); 2041 init_waitqueue_head(&md->wait); 2042 INIT_WORK(&md->work, dm_wq_work); 2043 init_waitqueue_head(&md->eventq); | 209 /* zero-length flush that will be cloned and submitted to targets */ 210 struct bio flush_bio; 211 212 struct dm_stats stats; 213}; 214 215/* 216 * For mempools pre-allocation at the table loading time. --- 1822 unchanged lines hidden (view full) --- 2039 if (!md->disk) 2040 goto bad_disk; 2041 2042 atomic_set(&md->pending[0], 0); 2043 atomic_set(&md->pending[1], 0); 2044 init_waitqueue_head(&md->wait); 2045 INIT_WORK(&md->work, dm_wq_work); 2046 init_waitqueue_head(&md->eventq); |
2047 init_completion(&md->kobj_completion); |
|
2044 2045 md->disk->major = _major; 2046 md->disk->first_minor = minor; 2047 md->disk->fops = &dm_blk_dops; 2048 md->disk->queue = md->queue; 2049 md->disk->private_data = md; 2050 sprintf(md->disk->disk_name, "dm-%d", minor); 2051 add_disk(md->disk); --- 862 unchanged lines hidden (view full) --- 2914 if (test_bit(DMF_FREEING, &md->flags) || 2915 dm_deleting_md(md)) 2916 return NULL; 2917 2918 dm_get(md); 2919 return md; 2920} 2921 | 2048 2049 md->disk->major = _major; 2050 md->disk->first_minor = minor; 2051 md->disk->fops = &dm_blk_dops; 2052 md->disk->queue = md->queue; 2053 md->disk->private_data = md; 2054 sprintf(md->disk->disk_name, "dm-%d", minor); 2055 add_disk(md->disk); --- 862 unchanged lines hidden (view full) --- 2918 if (test_bit(DMF_FREEING, &md->flags) || 2919 dm_deleting_md(md)) 2920 return NULL; 2921 2922 dm_get(md); 2923 return md; 2924} 2925 |
2926struct completion *dm_get_completion_from_kobject(struct kobject *kobj) 2927{ 2928 struct mapped_device *md = container_of(kobj, struct mapped_device, kobj); 2929 2930 return &md->kobj_completion; 2931} 2932 |
|
2922int dm_suspended_md(struct mapped_device *md) 2923{ 2924 return test_bit(DMF_SUSPENDED, &md->flags); 2925} 2926 2927int dm_test_deferred_remove_flag(struct mapped_device *md) 2928{ 2929 return test_bit(DMF_DEFERRED_REMOVE, &md->flags); --- 98 unchanged lines hidden --- | 2933int dm_suspended_md(struct mapped_device *md) 2934{ 2935 return test_bit(DMF_SUSPENDED, &md->flags); 2936} 2937 2938int dm_test_deferred_remove_flag(struct mapped_device *md) 2939{ 2940 return test_bit(DMF_DEFERRED_REMOVE, &md->flags); --- 98 unchanged lines hidden --- |