UNIT_AUTOMOUNT,
UNIT_SNAPSHOT,
UNIT_TIMER,
+ UNIT_SWAP,
_UNIT_TYPE_MAX,
_UNIT_TYPE_INVALID = -1
};
LIST_FIELDS(Meta, gc_queue);
/* Used during GC sweeps */
- int gc_marker;
+ unsigned gc_marker;
/* If we go down, pull down everything that depends on us, too */
bool recursive_stop;
#include "mount.h"
#include "automount.h"
#include "snapshot.h"
+#include "swap.h"
union Unit {
Meta meta;
Mount mount;
Automount automount;
Snapshot snapshot;
+ Swap swap;
};
struct UnitVTable {
/* Exclude from automatic gc */
bool no_gc:1;
+
+ /* Exclude from isolation requests */
+ bool no_isolate:1;
};
extern const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX];
DEFINE_CAST(MOUNT, Mount);
DEFINE_CAST(AUTOMOUNT, Automount);
DEFINE_CAST(SNAPSHOT, Snapshot);
+DEFINE_CAST(SWAP, Swap);
Unit *unit_new(Manager *m);
void unit_free(Unit *u);