int main(int argc, char *argv[]) {
int port, sock, nbd;
int blocksize=1024;
- char *hostname;
+ char *hostname, *nbddev;
int swap=0;
int cont=0;
u64 size64;
if (argc==0) goto errmsg;
sock = opennet(hostname, port);
- nbd = open(argv[0], O_RDWR);
+ nbddev = argv[0];
+ nbd = open(nbddev, O_RDWR);
if (nbd < 0)
err("Can not open NBD: %m");
++argv; --argc; /* skip device */
/* Go daemon */
chdir("/");
+#ifndef NOFORK
if (fork())
exit(0);
+#endif
do {
if (ioctl(nbd, NBD_DO_IT) < 0) {
fprintf(stderr, " Reconnecting\n");
close(sock); close(nbd);
sock = opennet(hostname, port);
- nbd = open(argv[0], O_RDWR);
+ nbd = open(nbddev, O_RDWR);
if(size64!=negotiate(sock,blocksize)) {
err("Size of the device changed. Bye");
}