dm.c (fbdc86f3bd597e108fa03d998132d04fcfe1d669) dm.c (36a0456fbf2d9680bf9af81b39daf4a8e22cb1b8)
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"

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

135
136 unsigned long flags;
137
138 struct request_queue *queue;
139 unsigned type;
140 /* Protect queue and type against concurrent access. */
141 struct mutex type_lock;
142
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"

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

135
136 unsigned long flags;
137
138 struct request_queue *queue;
139 unsigned type;
140 /* Protect queue and type against concurrent access. */
141 struct mutex type_lock;
142
143 struct target_type *immutable_target_type;
144
143 struct gendisk *disk;
144 char name[16];
145
146 void *interface_ptr;
147
148 /*
149 * A list of ios that arrived while we were suspended.
150 */

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

2091
2092 __bind_mempools(md, t);
2093
2094 merge_is_optional = dm_table_merge_is_optional(t);
2095
2096 write_lock_irqsave(&md->map_lock, flags);
2097 old_map = md->map;
2098 md->map = t;
145 struct gendisk *disk;
146 char name[16];
147
148 void *interface_ptr;
149
150 /*
151 * A list of ios that arrived while we were suspended.
152 */

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

2093
2094 __bind_mempools(md, t);
2095
2096 merge_is_optional = dm_table_merge_is_optional(t);
2097
2098 write_lock_irqsave(&md->map_lock, flags);
2099 old_map = md->map;
2100 md->map = t;
2101 md->immutable_target_type = dm_table_get_immutable_target_type(t);
2102
2099 dm_table_set_restrictions(t, q, limits);
2100 if (merge_is_optional)
2101 set_bit(DMF_MERGE_IS_OPTIONAL, &md->flags);
2102 else
2103 clear_bit(DMF_MERGE_IS_OPTIONAL, &md->flags);
2104 write_unlock_irqrestore(&md->map_lock, flags);
2105
2106 return old_map;

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

2161 md->type = type;
2162}
2163
2164unsigned dm_get_md_type(struct mapped_device *md)
2165{
2166 return md->type;
2167}
2168
2103 dm_table_set_restrictions(t, q, limits);
2104 if (merge_is_optional)
2105 set_bit(DMF_MERGE_IS_OPTIONAL, &md->flags);
2106 else
2107 clear_bit(DMF_MERGE_IS_OPTIONAL, &md->flags);
2108 write_unlock_irqrestore(&md->map_lock, flags);
2109
2110 return old_map;

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

2165 md->type = type;
2166}
2167
2168unsigned dm_get_md_type(struct mapped_device *md)
2169{
2170 return md->type;
2171}
2172
2173struct target_type *dm_get_immutable_target_type(struct mapped_device *md)
2174{
2175 return md->immutable_target_type;
2176}
2177
2169/*
2170 * Fully initialize a request-based queue (->elevator, ->request_fn, etc).
2171 */
2172static int dm_init_request_based_queue(struct mapped_device *md)
2173{
2174 struct request_queue *q = NULL;
2175
2176 if (md->queue->elevator)

--- 605 unchanged lines hidden ---
2178/*
2179 * Fully initialize a request-based queue (->elevator, ->request_fn, etc).
2180 */
2181static int dm_init_request_based_queue(struct mapped_device *md)
2182{
2183 struct request_queue *q = NULL;
2184
2185 if (md->queue->elevator)

--- 605 unchanged lines hidden ---