]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: enable ceph in a non-default network namespace
authorIlya Dryomov <idryomov@gmail.com>
Thu, 25 Jun 2015 14:47:45 +0000 (17:47 +0300)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 9 Jul 2015 17:30:34 +0000 (20:30 +0300)
commit1b6e7edeaa84b8cce26bbb722ce78f3ab30f3cbe
treec6f943fd91a6e1901745f114a1387e98b8031eed
parent7080a36663ec94f7ed976e9e162c15cc4a03bc56
libceph: enable ceph in a non-default network namespace

Grab a reference on a network namespace of the 'rbd map' (in case of
rbd) or 'mount' (in case of ceph) process and use that to open sockets
instead of always using init_net and bailing if network namespace is
anything but init_net.  Be careful to not share struct ceph_client
instances between different namespaces and don't add any code in the
!CONFIG_NET_NS case.

This is based on a patch from Hong Zhiguo <zhiguohong@tencent.com>.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
include/linux/ceph/messenger.h
net/ceph/ceph_common.c
net/ceph/messenger.c