md.c (1e2a410ff71504a64d1af2e354287ac51aeac1b0) md.c (bf800ef1816b4283a885e55ad38068aec9711e4d)
1/*
2 md.c : Multiple Devices driver for Linux
3 Copyright (C) 1998, 1999, 2000 Ingo Molnar
4
5 completely rewritten, based on the MD driver code from Marc Zyngier
6
7 Changes:
8

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

168 return NULL;
169 return b;
170}
171EXPORT_SYMBOL_GPL(bio_alloc_mddev);
172
173struct bio *bio_clone_mddev(struct bio *bio, gfp_t gfp_mask,
174 struct mddev *mddev)
175{
1/*
2 md.c : Multiple Devices driver for Linux
3 Copyright (C) 1998, 1999, 2000 Ingo Molnar
4
5 completely rewritten, based on the MD driver code from Marc Zyngier
6
7 Changes:
8

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

168 return NULL;
169 return b;
170}
171EXPORT_SYMBOL_GPL(bio_alloc_mddev);
172
173struct bio *bio_clone_mddev(struct bio *bio, gfp_t gfp_mask,
174 struct mddev *mddev)
175{
176 struct bio *b;
177
178 if (!mddev || !mddev->bio_set)
179 return bio_clone(bio, gfp_mask);
180
176 if (!mddev || !mddev->bio_set)
177 return bio_clone(bio, gfp_mask);
178
181 b = bio_alloc_bioset(gfp_mask, bio->bi_max_vecs, mddev->bio_set);
182 if (!b)
183 return NULL;
184
185 __bio_clone(b, bio);
186 if (bio_integrity(bio)) {
187 int ret;
188
189 ret = bio_integrity_clone(b, bio, gfp_mask);
190
191 if (ret < 0) {
192 bio_put(b);
193 return NULL;
194 }
195 }
196
197 return b;
179 return bio_clone_bioset(bio, gfp_mask, mddev->bio_set);
198}
199EXPORT_SYMBOL_GPL(bio_clone_mddev);
200
201void md_trim_bio(struct bio *bio, int offset, int size)
202{
203 /* 'bio' is a cloned bio which we need to trim to match
204 * the given offset and size.
205 * This requires adjusting bi_sector, bi_size, and bi_io_vec

--- 8352 unchanged lines hidden ---
180}
181EXPORT_SYMBOL_GPL(bio_clone_mddev);
182
183void md_trim_bio(struct bio *bio, int offset, int size)
184{
185 /* 'bio' is a cloned bio which we need to trim to match
186 * the given offset and size.
187 * This requires adjusting bi_sector, bi_size, and bi_io_vec

--- 8352 unchanged lines hidden ---