bio->bi_write_hint = bio_src->bi_write_hint;
bio->bi_iter = bio_src->bi_iter;
bio->bi_io_vec = bio_src->bi_io_vec;
+ bio->bi_aux_private = bio_src->bi_aux_private;
bio_clone_blkcg_association(bio, bio_src);
-
- if (bio->bi_opf & REQ_AUX_PRIV)
- bio->bi_aux_private = bio_src->bi_aux_private;
}
EXPORT_SYMBOL(__bio_clone_fast);
bio->bi_write_hint = bio_src->bi_write_hint;
bio->bi_iter.bi_sector = bio_src->bi_iter.bi_sector;
bio->bi_iter.bi_size = bio_src->bi_iter.bi_size;
- if (bio->bi_opf & REQ_AUX_PRIV)
- bio->bi_aux_private = bio_src->bi_aux_private;
+ bio->bi_aux_private = bio_src->bi_aux_private;
switch (bio_op(bio)) {
case REQ_OP_DISCARD:
return NULL;
}
-static inline bool bio_has_crypt(struct bio *bio)
+static inline void *bio_has_crypt(struct bio *bio)
{
if (bio && (bio->bi_opf & REQ_CRYPT))
- return true;
- else
- return false;
+ return bio->bi_aux_private;
+
+ return NULL;
}
/*
static inline bool blk_crypt_mergeable(struct bio *a, struct bio *b)
{
- if (bio_has_crypt(a) && bio_has_crypt(b))
- if (a->bi_aux_private != b->bi_aux_private)
- return false;
+ if (bio_has_crypt(a) == bio_has_crypt(b))
+ return true;
- return true;
+ return false;
}
/*