X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Futils%2Fliblustreapi_mirror.c;h=bae3b09676037255194b9ee3210278ddc2eecf6a;hb=0f670d1ca9dd5af697bfbf3b95a301c61a8b4447;hp=4a59b465dbb02c18377c83a2ea462c5fa878a7df;hpb=0e5c12ac29a9622e8ca05d5e39cd5e2a721ace93;p=fs%2Flustre-release.git diff --git a/lustre/utils/liblustreapi_mirror.c b/lustre/utils/liblustreapi_mirror.c index 4a59b46..bae3b09 100644 --- a/lustre/utils/liblustreapi_mirror.c +++ b/lustre/utils/liblustreapi_mirror.c @@ -216,8 +216,7 @@ int llapi_mirror_truncate(int fd, unsigned int id, off_t length) * \result > 0 Number of mirrors successfully copied * \result < 0 The last seen error */ -ssize_t llapi_mirror_copy_many(int fd, unsigned int src, unsigned int *dst, - size_t count) +ssize_t llapi_mirror_copy_many(int fd, __u16 src, __u16 *dst, size_t count) { const size_t buflen = 4 * 1024 * 1024; /* 4M */ void *buf; @@ -252,7 +251,7 @@ ssize_t llapi_mirror_copy_many(int fd, unsigned int src, unsigned int *dst, /* round up to page align to make direct IO happy. * this implies the last segment to write. */ - to_write = (bytes_read + page_size - 1) & ~(page_size - 1); + to_write = ((bytes_read - 1) | (page_size - 1)) + 1; for (i = 0; i < nr; i++) { ssize_t written;