]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/admin_socket: add chown
authorSage Weil <sage@redhat.com>
Mon, 8 Feb 2016 16:31:30 +0000 (11:31 -0500)
committerSage Weil <sage@redhat.com>
Wed, 10 Feb 2016 18:17:36 +0000 (13:17 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/common/admin_socket.cc
src/common/admin_socket.h

index aa0146fe1c3bbccbf2989a2ead45f5949984dd69..f9468e37712bf67df5a2cccca8bf5071af6aa792 100644 (file)
@@ -286,6 +286,17 @@ void* AdminSocket::entry()
   ldout(m_cct, 5) << "entry exit" << dendl;
 }
 
+void AdminSocket::chown(uid_t uid, gid_t gid)
+{
+  if (m_sock_fd >= 0) {
+    int r = ::fchown(m_sock_fd, uid, gid);
+    if (r < 0) {
+      r = -errno;
+      lderr(m_cct) << "AdminSocket: failed to chown socket: "
+                  << cpp_strerror(r) << dendl;
+    }
+  }
+}
 
 bool AdminSocket::do_accept()
 {
index bad235a277f6eecab49c04a3a6dc7e487dc4a101..42be28c958da86fd8fca6196cfd80e39c15158b5 100644 (file)
@@ -71,7 +71,9 @@ public:
   int unregister_command(std::string command);
 
   bool init(const std::string &path);
-  
+
+  void chown(uid_t uid, gid_t gid);
+
 private:
   AdminSocket(const AdminSocket& rhs);
   AdminSocket& operator=(const AdminSocket &rhs);