You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/03/31 07:01:15 UTC

mesos git commit: Added support for "overlay" keyword.

Repository: mesos
Updated Branches:
  refs/heads/master 3f0d074ea -> e66a7790b


Added support for "overlay" keyword.

The "overlayfs" was renamed to "overlay" in kernel 4.2, for overlay
support check function, it should check both "overlay" and "overlayfs"
in "/proc/filesystems".

Review: https://reviews.apache.org/r/44421/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/e66a7790
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/e66a7790
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/e66a7790

Branch: refs/heads/master
Commit: e66a7790bce53209ec3eabe51d986f68ce4c0928
Parents: 3f0d074
Author: Guangya Liu <gy...@gmail.com>
Authored: Wed Mar 30 21:59:03 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Wed Mar 30 22:00:58 2016 -0700

----------------------------------------------------------------------
 src/linux/fs.cpp                                | 20 ++++++++++++++++++++
 src/linux/fs.hpp                                |  8 ++++++++
 .../containerizer/mesos/provisioner/backend.cpp |  2 +-
 .../mesos/provisioner/backends/overlay.cpp      |  2 +-
 src/tests/environment.cpp                       |  2 +-
 5 files changed, 31 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/e66a7790/src/linux/fs.cpp
----------------------------------------------------------------------
diff --git a/src/linux/fs.cpp b/src/linux/fs.cpp
index dbf9475..306beab 100644
--- a/src/linux/fs.cpp
+++ b/src/linux/fs.cpp
@@ -68,6 +68,26 @@ Try<bool> supported(const std::string& fsname)
 }
 
 
+Try<bool> overlay::supported()
+{
+  Try<bool> overlay = fs::supported("overlay");
+  if (overlay.isError()) {
+    return Error(overlay.error());
+  } else if (overlay.get() == true) {
+    return true;
+  }
+
+  Try<bool> overlayfs = fs::supported("overlayfs");
+  if (overlayfs.isError()) {
+    return Error(overlayfs.error());
+  } else if (overlayfs.get() == true) {
+    return true;
+  }
+
+  return false;
+}
+
+
 Try<MountInfoTable> MountInfoTable::read(const Option<pid_t>& pid)
 {
   MountInfoTable table;

http://git-wip-us.apache.org/repos/asf/mesos/blob/e66a7790/src/linux/fs.hpp
----------------------------------------------------------------------
diff --git a/src/linux/fs.hpp b/src/linux/fs.hpp
index 4525a5d..5951f3f 100644
--- a/src/linux/fs.hpp
+++ b/src/linux/fs.hpp
@@ -156,6 +156,14 @@ namespace fs {
 Try<bool> supported(const std::string& fsname);
 
 
+namespace overlay {
+
+// Check if overlay fs is supported.
+Try<bool> supported();
+
+} // namespace overlay {
+
+
 // TODO(idownes): These three variations on mount information should
 // be consolidated and moved to stout, along with mount and umount.
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/e66a7790/src/slave/containerizer/mesos/provisioner/backend.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/provisioner/backend.cpp b/src/slave/containerizer/mesos/provisioner/backend.cpp
index 5565254..b2a20b7 100644
--- a/src/slave/containerizer/mesos/provisioner/backend.cpp
+++ b/src/slave/containerizer/mesos/provisioner/backend.cpp
@@ -47,7 +47,7 @@ hashmap<string, Owned<Backend>> Backend::create(const Flags& flags)
 #ifdef __linux__
   creators.put("bind", &BindBackend::create);
 
-  Try<bool> overlayfsSupported = fs::supported("overlayfs");
+  Try<bool> overlayfsSupported = fs::overlay::supported();
   if (overlayfsSupported.isError()) {
     LOG(WARNING) << "Failed to check overlayfs availability: '"
                  << overlayfsSupported.error();

http://git-wip-us.apache.org/repos/asf/mesos/blob/e66a7790/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp b/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp
index 5cc0f8b..93892a7 100644
--- a/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp
+++ b/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp
@@ -66,7 +66,7 @@ Try<Owned<Backend>> OverlayBackend::create(const Flags&)
       user.get());
   }
 
-  Try<bool> supported = fs::supported("overlayfs");
+  Try<bool> supported = fs::overlay::supported();
   if (supported.isError()) {
     return Error(supported.error());
   }

http://git-wip-us.apache.org/repos/asf/mesos/blob/e66a7790/src/tests/environment.cpp
----------------------------------------------------------------------
diff --git a/src/tests/environment.cpp b/src/tests/environment.cpp
index 7617e43..90dbe94 100644
--- a/src/tests/environment.cpp
+++ b/src/tests/environment.cpp
@@ -465,7 +465,7 @@ public:
   OverlayFSTestFilter()
   {
 #ifdef __linux__
-    Try<bool> check = fs::supported("overlayfs");
+    Try<bool> check = fs::overlay::supported();
     if (check.isError()) {
       overlayfsError = check.error();
     } else if (!check.get()) {