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