Loading drivers/md/dm-crypt.c +11 −5 Original line number Original line Diff line number Diff line Loading @@ -595,17 +595,13 @@ static void kcryptd_crypt_write_io_submit(struct dm_crypt_io *io, int error) io->sector += bio_sectors(clone); io->sector += bio_sectors(clone); } } static void kcryptd_crypt_write_convert(struct dm_crypt_io *io) static void kcryptd_crypt_write_convert_loop(struct dm_crypt_io *io) { { struct crypt_config *cc = io->target->private; struct crypt_config *cc = io->target->private; struct bio *clone; struct bio *clone; unsigned remaining = io->base_bio->bi_size; unsigned remaining = io->base_bio->bi_size; int r; int r; atomic_inc(&io->pending); crypt_convert_init(cc, &io->ctx, NULL, io->base_bio, io->sector); /* /* * The allocated buffers can be smaller than the whole bio, * The allocated buffers can be smaller than the whole bio, * so repeat the whole process until all the data can be handled. * so repeat the whole process until all the data can be handled. Loading Loading @@ -645,6 +641,16 @@ static void kcryptd_crypt_write_convert(struct dm_crypt_io *io) } } } } static void kcryptd_crypt_write_convert(struct dm_crypt_io *io) { struct crypt_config *cc = io->target->private; atomic_inc(&io->pending); crypt_convert_init(cc, &io->ctx, NULL, io->base_bio, io->sector); kcryptd_crypt_write_convert_loop(io); } static void kcryptd_crypt_read_done(struct dm_crypt_io *io, int error) static void kcryptd_crypt_read_done(struct dm_crypt_io *io, int error) { { if (unlikely(error < 0)) if (unlikely(error < 0)) Loading Loading
drivers/md/dm-crypt.c +11 −5 Original line number Original line Diff line number Diff line Loading @@ -595,17 +595,13 @@ static void kcryptd_crypt_write_io_submit(struct dm_crypt_io *io, int error) io->sector += bio_sectors(clone); io->sector += bio_sectors(clone); } } static void kcryptd_crypt_write_convert(struct dm_crypt_io *io) static void kcryptd_crypt_write_convert_loop(struct dm_crypt_io *io) { { struct crypt_config *cc = io->target->private; struct crypt_config *cc = io->target->private; struct bio *clone; struct bio *clone; unsigned remaining = io->base_bio->bi_size; unsigned remaining = io->base_bio->bi_size; int r; int r; atomic_inc(&io->pending); crypt_convert_init(cc, &io->ctx, NULL, io->base_bio, io->sector); /* /* * The allocated buffers can be smaller than the whole bio, * The allocated buffers can be smaller than the whole bio, * so repeat the whole process until all the data can be handled. * so repeat the whole process until all the data can be handled. Loading Loading @@ -645,6 +641,16 @@ static void kcryptd_crypt_write_convert(struct dm_crypt_io *io) } } } } static void kcryptd_crypt_write_convert(struct dm_crypt_io *io) { struct crypt_config *cc = io->target->private; atomic_inc(&io->pending); crypt_convert_init(cc, &io->ctx, NULL, io->base_bio, io->sector); kcryptd_crypt_write_convert_loop(io); } static void kcryptd_crypt_read_done(struct dm_crypt_io *io, int error) static void kcryptd_crypt_read_done(struct dm_crypt_io *io, int error) { { if (unlikely(error < 0)) if (unlikely(error < 0)) Loading