The gateway nodes only forwards requests to the sheepdog cluster, and doesn't store objects in local at all. Running a gateway daemon on localhost and connecting to it would be an alternative to implementing sheepdog fail-over support in qemu because the gateway node automatically choose the correct target nodes. Currently, this options is just an alias for '--vnodes 0'. Note that a small storage to store epoch information is still required for gateway nodes. Signed-off-by: MORITA Kazutaka <morita.kazutaka at gmail.com> --- sheep/sheep.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/sheep/sheep.c b/sheep/sheep.c index 6645e8d..4e6e266 100644 --- a/sheep/sheep.c +++ b/sheep/sheep.c @@ -40,6 +40,7 @@ static struct option const long_options[] = { {"directio", no_argument, NULL, 'D'}, {"foreground", no_argument, NULL, 'f'}, {"nr_gateway_worker", required_argument, NULL, 'g'}, + {"gateway", no_argument, NULL, 'G'}, {"help", no_argument, NULL, 'h'}, {"nr_io_worker", required_argument, NULL, 'i'}, {"loglevel", required_argument, NULL, 'l'}, @@ -50,7 +51,7 @@ static struct option const long_options[] = { {NULL, 0, NULL, 0}, }; -static const char *short_options = "ac:dDfg:hi:l:op:v:z:"; +static const char *short_options = "ac:dDfg:Ghi:l:op:v:z:"; static void usage(int status) { @@ -68,6 +69,7 @@ Options:\n\ -D, --directio use direct IO when accessing the object from object cache\n\ -f, --foreground make the program run in the foreground\n\ -g, --nr_gateway_worker set the number of workers for Guests' requests (default 4)\n\ + -G, --gateway make the progam run as a gateway mode (same as '-v 0')\n\ -h, --help display this help and exit\n\ -i, --nr_io_worker set the number of workers for sheep internal requests (default 4)\n\ -l, --loglevel specify the level of logging detail\n\ @@ -156,6 +158,10 @@ int main(int argc, char **argv) exit(1); } break; + case 'G': + /* same as '-v 0' */ + nr_vnodes = 0; + break; case 'i': nr_io_worker = strtol(optarg, &p, 10); if (optarg == p || nr_io_worker < 4 || nr_io_worker > UINT32_MAX) { -- 1.7.2.5 |