Skip to content

Commit

Permalink
libceph: export zero_page
Browse files Browse the repository at this point in the history
In preparation for msgr2, make zero_page global.

Signed-off-by: Ilya Dryomov <[email protected]>
  • Loading branch information
idryomov committed Dec 14, 2020
1 parent 3fefd43 commit 699921d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
1 change: 1 addition & 0 deletions include/linux/ceph/messenger.h
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,7 @@ struct ceph_connection {
unsigned long delay; /* current delay interval */
};

extern struct page *ceph_zero_page;

extern const char *ceph_pr_addr(const struct ceph_entity_addr *addr);

Expand Down
17 changes: 9 additions & 8 deletions net/ceph/messenger.c
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ static void con_fault(struct ceph_connection *con);
static char addr_str[ADDR_STR_COUNT][MAX_ADDR_STR_LEN];
static atomic_t addr_str_seq = ATOMIC_INIT(0);

static struct page *zero_page; /* used in certain error cases */
struct page *ceph_zero_page; /* used in certain error cases */

const char *ceph_pr_addr(const struct ceph_entity_addr *addr)
{
Expand Down Expand Up @@ -234,9 +234,9 @@ static void _ceph_msgr_exit(void)
ceph_msgr_wq = NULL;
}

BUG_ON(zero_page == NULL);
put_page(zero_page);
zero_page = NULL;
BUG_ON(!ceph_zero_page);
put_page(ceph_zero_page);
ceph_zero_page = NULL;

ceph_msgr_slab_exit();
}
Expand All @@ -246,9 +246,9 @@ int __init ceph_msgr_init(void)
if (ceph_msgr_slab_init())
return -ENOMEM;

BUG_ON(zero_page != NULL);
zero_page = ZERO_PAGE(0);
get_page(zero_page);
BUG_ON(ceph_zero_page);
ceph_zero_page = ZERO_PAGE(0);
get_page(ceph_zero_page);

/*
* The number of active work items is limited by the number of
Expand Down Expand Up @@ -1645,7 +1645,8 @@ static int write_partial_skip(struct ceph_connection *con)

if (size == con->out_skip)
more = MSG_MORE;
ret = ceph_tcp_sendpage(con->sock, zero_page, 0, size, more);
ret = ceph_tcp_sendpage(con->sock, ceph_zero_page, 0, size,
more);
if (ret <= 0)
goto out;
con->out_skip -= ret;
Expand Down

0 comments on commit 699921d

Please sign in to comment.