You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2016/04/25 23:15:32 UTC
[16/24] mesos git commit: Added support for "overlay" keyword.
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/92dc9549
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/92dc9549
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/92dc9549
Branch: refs/heads/0.28.x
Commit: 92dc9549ca6249c423bb09a5a424ce179ebfd1d0
Parents: 2576ee5
Author: Guangya Liu <gy...@gmail.com>
Authored: Wed Mar 30 21:59:03 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Tue Apr 5 15:17:33 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/92dc9549/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/92dc9549/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/92dc9549/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/92dc9549/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/92dc9549/src/tests/environment.cpp
----------------------------------------------------------------------
diff --git a/src/tests/environment.cpp b/src/tests/environment.cpp
index ee1bbe6..c384ac9 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()) {