dm-delay.c (907bc6c7fc7071b00083fc11e510e47dd93df45d) dm-delay.c (8215d6ec5fee1e76545decea2cd73717efb5cb42)
1/*
2 * Copyright (C) 2005-2007 Red Hat GmbH
3 *
4 * A target that delays reads and/or writes and can send
5 * them to different devices.
6 *
7 * This file is released under the GPL.
8 */

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

151 }
152 dc->start_read = tmpll;
153
154 if (sscanf(argv[2], "%u", &dc->read_delay) != 1) {
155 ti->error = "Invalid delay";
156 goto bad;
157 }
158
1/*
2 * Copyright (C) 2005-2007 Red Hat GmbH
3 *
4 * A target that delays reads and/or writes and can send
5 * them to different devices.
6 *
7 * This file is released under the GPL.
8 */

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

151 }
152 dc->start_read = tmpll;
153
154 if (sscanf(argv[2], "%u", &dc->read_delay) != 1) {
155 ti->error = "Invalid delay";
156 goto bad;
157 }
158
159 if (dm_get_device(ti, argv[0], dc->start_read, ti->len,
160 dm_table_get_mode(ti->table), &dc->dev_read)) {
159 if (dm_get_device(ti, argv[0], dm_table_get_mode(ti->table),
160 &dc->dev_read)) {
161 ti->error = "Device lookup failed";
162 goto bad;
163 }
164
165 dc->dev_write = NULL;
166 if (argc == 3)
167 goto out;
168
169 if (sscanf(argv[4], "%llu", &tmpll) != 1) {
170 ti->error = "Invalid write device sector";
171 goto bad_dev_read;
172 }
173 dc->start_write = tmpll;
174
175 if (sscanf(argv[5], "%u", &dc->write_delay) != 1) {
176 ti->error = "Invalid write delay";
177 goto bad_dev_read;
178 }
179
161 ti->error = "Device lookup failed";
162 goto bad;
163 }
164
165 dc->dev_write = NULL;
166 if (argc == 3)
167 goto out;
168
169 if (sscanf(argv[4], "%llu", &tmpll) != 1) {
170 ti->error = "Invalid write device sector";
171 goto bad_dev_read;
172 }
173 dc->start_write = tmpll;
174
175 if (sscanf(argv[5], "%u", &dc->write_delay) != 1) {
176 ti->error = "Invalid write delay";
177 goto bad_dev_read;
178 }
179
180 if (dm_get_device(ti, argv[3], dc->start_write, ti->len,
181 dm_table_get_mode(ti->table), &dc->dev_write)) {
180 if (dm_get_device(ti, argv[3], dm_table_get_mode(ti->table),
181 &dc->dev_write)) {
182 ti->error = "Write device lookup failed";
183 goto bad_dev_read;
184 }
185
186out:
187 dc->delayed_pool = mempool_create_slab_pool(128, delayed_cache);
188 if (!dc->delayed_pool) {
189 DMERR("Couldn't create delayed bio pool.");

--- 207 unchanged lines hidden ---
182 ti->error = "Write device lookup failed";
183 goto bad_dev_read;
184 }
185
186out:
187 dc->delayed_pool = mempool_create_slab_pool(128, delayed_cache);
188 if (!dc->delayed_pool) {
189 DMERR("Couldn't create delayed bio pool.");

--- 207 unchanged lines hidden ---