projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'net-5.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux-2.6-microblaze.git]
/
drivers
/
md
/
dm-log-writes.c
diff --git
a/drivers/md/dm-log-writes.c
b/drivers/md/dm-log-writes.c
index
e3d35c6
..
5788265
100644
(file)
--- a/
drivers/md/dm-log-writes.c
+++ b/
drivers/md/dm-log-writes.c
@@
-264,15
+264,14
@@
static int write_inline_data(struct log_writes_c *lc, void *entry,
size_t entrylen, void *data, size_t datalen,
sector_t sector)
{
size_t entrylen, void *data, size_t datalen,
sector_t sector)
{
- int
num_pages,
bio_pages, pg_datalen, pg_sectorlen, i;
+ int bio_pages, pg_datalen, pg_sectorlen, i;
struct page *page;
struct bio *bio;
size_t ret;
void *ptr;
while (datalen) {
struct page *page;
struct bio *bio;
size_t ret;
void *ptr;
while (datalen) {
- num_pages = ALIGN(datalen, PAGE_SIZE) >> PAGE_SHIFT;
- bio_pages = min(num_pages, BIO_MAX_PAGES);
+ bio_pages = bio_max_segs(DIV_ROUND_UP(datalen, PAGE_SIZE));
atomic_inc(&lc->io_blocks);
atomic_inc(&lc->io_blocks);
@@
-364,7
+363,7
@@
static int log_one_block(struct log_writes_c *lc,
goto out;
atomic_inc(&lc->io_blocks);
goto out;
atomic_inc(&lc->io_blocks);
- bio = bio_alloc(GFP_KERNEL,
min(block->vec_cnt, BIO_MAX_PAGES
));
+ bio = bio_alloc(GFP_KERNEL,
bio_max_segs(block->vec_cnt
));
if (!bio) {
DMERR("Couldn't alloc log bio");
goto error;
if (!bio) {
DMERR("Couldn't alloc log bio");
goto error;
@@
-386,7
+385,8
@@
static int log_one_block(struct log_writes_c *lc,
if (ret != block->vecs[i].bv_len) {
atomic_inc(&lc->io_blocks);
submit_bio(bio);
if (ret != block->vecs[i].bv_len) {
atomic_inc(&lc->io_blocks);
submit_bio(bio);
- bio = bio_alloc(GFP_KERNEL, min(block->vec_cnt - i, BIO_MAX_PAGES));
+ bio = bio_alloc(GFP_KERNEL,
+ bio_max_segs(block->vec_cnt - i));
if (!bio) {
DMERR("Couldn't alloc log bio");
goto error;
if (!bio) {
DMERR("Couldn't alloc log bio");
goto error;