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

rbd-nbd: network block device (NBD) support for RBD #6657

Merged
merged 12 commits into from Dec 2, 2015
Merged

rbd-nbd: network block device (NBD) support for RBD #6657

merged 12 commits into from Dec 2, 2015

Conversation

wycbox
Copy link

@wycbox wycbox commented Nov 19, 2015

This is rbd client in userspace (refer to rbd-nbd), as an alternative to kernel rbd client
(refer to rbd-ker). The motivation are as follows,
(1) The developement of rbd-ker is behind that of userspace librbd;
(2) The flexibility and portability (dependent on kernel version) of rbd-ker are not very good;
(3) More importantly, according to our experience on ARM64 architecture for container scenario,
there exists stability issue for rbd-ker, easily cause kernel hang or disk-utils 100%;
(4) Rely on powerful librbd, rbd-nbd enjoys extremely simple code, and easy to maintain and
make stable, and will not cause system unusable even if crashed (which we do not meet in our
test);
(5) According to our test, the performance of rbd-nbd is comparable to rbd-ker;
(6) For the container sinaro, rbd-nbd is very practical.
The usage of rbd-nbd is very simple, rbd-nbd map/unmap/list-mapped, the other functions still
leave rbd to do.

@wycbox
Copy link
Author

wycbox commented Nov 20, 2015

I have try to rebase and repush multi times, and the jenkin failure with different problem.
Anyone knows how to fix it or some advise?

@dillaman
Copy link

@wwformat Try running make check locally -- it appears a test timed out.

@wycbox
Copy link
Author

wycbox commented Nov 21, 2015

@dillaman @dachary

@wwformat Try running make check locally -- it appears a test timed out.

I already run './run-make-check.sh' locally, and the result seems OK like this 'make check: successful run on cc03f67'
Maybe the jenkins failure is false negative report?

@ghost
Copy link

ghost commented Nov 21, 2015

@wwformat you can verify if it's a false negative by rebasing and repushing, this will trigger another run. It is possible that something in your environment is making the test pass. You could try to run-make-check.sh on a fresh virtual machine to verify it is not the case. If you have docker installed, you can also create a docker container from the ceph/src directory with:

test/docker-test.sh --os-type centos --os-version 7 --shell

this will give you a container and a separate source directory at the same commit your working tree is in. When you have the shell, you can ./run-make-check.sh (that's actually what the bot does). Warning: this will use ~10GB of additional disk space.

Yunchuan Wen added 8 commits November 21, 2015 23:26
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Signed-off-by: Li Wang <li.wang@kylin-cloud.com>
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Reviewed-by: Li Wang <li.wang@kylin-cloud.com>
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
The class SubProcess will use std::cerr,
but not include the header.

Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
@dragonylffly
Copy link
Contributor

@dillaman @jdurgin It has passed the tests, please review

@dragonylffly
Copy link
Contributor

@dillaman serveral days ago, we received notification from Github saying that our KylinStorage team has been deleted for unknown reason, we recreated it, unfortunately found that we can not use 'push -f' to update the commits under the original PR, therefore we had to start a new pull request, sorry for the inconvenience

Yunchuan Wen added 4 commits December 2, 2015 11:29
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
@wycbox
Copy link
Author

wycbox commented Dec 2, 2015

@dillaman thanks for your review.
I update the code by your comments.

@dillaman dillaman changed the title rbd-nbd: implement rbd in userspace V2 rbd-nbd: network block device (NBD) support for RBD Dec 2, 2015
dillaman pushed a commit that referenced this pull request Dec 2, 2015
rbd-nbd: network block device (NBD) support for RBD 

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
@dillaman dillaman merged commit 1786fa8 into ceph:master Dec 2, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants