Add support for a separate filesystem tag, and in the process improve the support...
[util-vserver.git] / ensc_wrappers / wrappers-vserver.hc
index a1e1e0a..d86dbcf 100644 (file)
@@ -64,6 +64,14 @@ Evc_net_create(nid_t nid)
   return res;
 }
 
+inline static WRAPPER_DECL tag_t
+Evc_tag_create(tag_t tag)
+{
+  register tag_t       res = vc_tag_create(tag);
+  FatalErrnoError(res==VC_NOCTX, "vc_tag_create()");
+  return res;
+}
+
 inline static WRAPPER_DECL void
 Evc_ctx_migrate(xid_t xid, uint_least64_t flags)
 {
@@ -77,6 +85,12 @@ Evc_net_migrate(nid_t nid)
 }
 
 inline static WRAPPER_DECL void
+Evc_tag_migrate(tag_t tag)
+{
+  FatalErrnoError(vc_tag_migrate(tag)==-1, "vc_tag_migrate()");
+}
+
+inline static WRAPPER_DECL void
 Evc_get_cflags(xid_t xid, struct vc_ctx_flags *flags)
 {
   FatalErrnoError(vc_get_cflags(xid, flags)==-1, "vc_get_cflags()");
@@ -180,3 +194,15 @@ Evc_nidopt2nid(char const *id, bool honor_static)
   }
   return rc;
 }
+
+inline static WRAPPER_DECL tag_t
+Evc_tagopt2tag(char const *id, bool honor_static)
+{
+  char const * err;
+  tag_t                rc = vc_tagopt2tag(id, honor_static, &err);
+  if (__builtin_expect(rc==VC_NOCTX,0)) {
+    ENSC_DETAIL1(msg, "vc_tagopt2tag", id, 1);
+    FatalErrnoErrorFail(msg);
+  }
+  return rc;
+}