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 ---