assert(cxt->action);
assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
+ DBG(CXT, mnt_debug_h(cxt, "prepare update"));
+
if (cxt->mountflags & MS_PROPAGATION) {
DBG(CXT, mnt_debug_h(cxt, "skip update: MS_PROPAGATION"));
return 0;
DBG(CXT, mnt_debug_h(cxt, "skip update: no writable destination"));
return 0;
}
+ /* 0 = success, 1 = not called yet */
+ if (cxt->syscall_status != 1 && cxt->syscall_status != 0) {
+ DBG(CXT, mnt_debug_h(cxt,
+ "skip update: syscall failed [status=%d]",
+ cxt->syscall_status));
+ return 0;
+ }
if (!cxt->update) {
cxt->update = mnt_new_update();
if (!cxt->update)
if (!cxt)
return -EINVAL;
+ DBG(CXT, mnt_debug_h(cxt, "syscall status set to: %d", status));
cxt->syscall_status = status;
return 0;
}