Skip to content

Commit

Permalink
libceph: make ceph_msg->bio_seg be unsigned
Browse files Browse the repository at this point in the history
The bio_seg field is used by the ceph messenger in iterating through
a bio.  It should never have a negative value, so make it an
unsigned.  (I contemplated making it unsigned short to match the
struct bio definition, but it offered no benefit.)

Change variables used to hold bio_seg values to all be unsigned as
well.  Change two variable names in init_bio_iter() to match the
convention used everywhere else.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
  • Loading branch information
Alex Elder authored and Sage Weil committed May 2, 2013
1 parent 3ff5f38 commit 07c09b7
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
2 changes: 1 addition & 1 deletion include/linux/ceph/messenger.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ struct ceph_msg {
#ifdef CONFIG_BLOCK
struct bio *bio; /* instead of pages/pagelist */
struct bio *bio_iter; /* bio iterator */
int bio_seg; /* current bio segment */
unsigned int bio_seg; /* current bio segment */
#endif /* CONFIG_BLOCK */
struct ceph_pagelist *trail; /* the trailing part of the data */
bool front_is_vmalloc;
Expand Down
16 changes: 9 additions & 7 deletions net/ceph/messenger.c
Original file line number Diff line number Diff line change
Expand Up @@ -697,18 +697,19 @@ static void con_out_kvec_add(struct ceph_connection *con,
}

#ifdef CONFIG_BLOCK
static void init_bio_iter(struct bio *bio, struct bio **iter, int *seg)
static void init_bio_iter(struct bio *bio, struct bio **bio_iter,
unsigned int *bio_seg)
{
if (!bio) {
*iter = NULL;
*seg = 0;
*bio_iter = NULL;
*bio_seg = 0;
return;
}
*iter = bio;
*seg = bio->bi_idx;
*bio_iter = bio;
*bio_seg = (unsigned int) bio->bi_idx;
}

static void iter_bio_next(struct bio **bio_iter, int *seg)
static void iter_bio_next(struct bio **bio_iter, unsigned int *seg)
{
if (*bio_iter == NULL)
return;
Expand Down Expand Up @@ -1818,7 +1819,8 @@ static int read_partial_message_pages(struct ceph_connection *con,

#ifdef CONFIG_BLOCK
static int read_partial_message_bio(struct ceph_connection *con,
struct bio **bio_iter, int *bio_seg,
struct bio **bio_iter,
unsigned int *bio_seg,
unsigned int data_len, bool do_datacrc)
{
struct bio_vec *bv = bio_iovec_idx(*bio_iter, *bio_seg);
Expand Down

0 comments on commit 07c09b7

Please sign in to comment.