Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FileStore: use pwritev instead of lseek+writev #7349

Merged
merged 4 commits into from Feb 9, 2016

Conversation

yuyuyu101
Copy link
Member

No description provided.

@yuyuyu101
Copy link
Member Author

update on #6718 @jack-changtao plz review

@tchaikov
Copy link
Contributor

@yuyuyu101 could you help @jack-changtao to squash his two commits into a single one?

bytes = 0;


int r = do_writev(fd, iov, offest, iovlen, bytes);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/offeset/offset/

Signed-off-by: Tao Chang <changtao@hihuron.com>
@@ -123,6 +123,9 @@
/* Define to 1 if you have the `syncfs' function. */
#cmakedefine HAVE_SYNCFS 1

/* Define to 1 if you have the `pwritev' function. */
#cmakedefine HAVE_PWRITEV 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you want to add

CHECK_FUNCTION_EXISTS(pwritev HAVE_PWRITEV) 

in CMakeLists.txt also?

@tchaikov
Copy link
Contributor

@yuyuyu101 could you reconsider #7349 (comment) ? w.r.t CHECK_FUNCTION_EXISTS(pwritev HAVE_PWRITEV) otherwise your be6dbcd might not work as expected.

@yuyuyu101
Copy link
Member Author

@tchaikov thanks! I missed it

@liewegas
Copy link
Member

The write_fd changes break the crush map check on pool creation ('ceph osd pool create foo 12' fails). Probably because we are doing write_fd to a pipe to the child process?

@yuyuyu101
Copy link
Member Author

@liewegas updated, revert orignal write_fd

@liewegas
Copy link
Member

@yuyuyu101 do you mind squashing this down so that write_fd isn't changed and then changed back?

@yuyuyu101
Copy link
Member Author

@liewegas done

@liewegas
Copy link
Member

unittest_bufferlist (and some other make check tests) fail

Signed-off-by: Haomai Wang <haomai@xsky.com>
Signed-off-by: Haomai Wang <haomai@xsky.com>
@yuyuyu101
Copy link
Member Author

@liewegas eh, pass now...

Signed-off-by: Haomai Wang <haomai@xsky.com>
@yuyuyu101
Copy link
Member Author

retest this please

liewegas added a commit that referenced this pull request Feb 9, 2016
osd: FileStore: use pwritev instead of lseek+writev

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
@liewegas liewegas merged commit a20134d into ceph:master Feb 9, 2016
@yuyuyu101 yuyuyu101 deleted the add-pwritev branch February 9, 2016 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants