r337: Check multi-file export in 'make check', too; and tell automake that we have...
[nbd.git] / nbd-server.c
index 339aad2..a683f8c 100644 (file)
@@ -170,6 +170,7 @@ typedef enum {
  **/
 typedef struct {
        gchar* exportname;    /**< (unprocessed) filename of the file we're exporting */
+       gchar* cowname;      /**< template for the filename of the copy-on-write file */
        off_t expected_size; /**< size of the exported file as it was told to
                               us through configuration */
        gchar* listenaddr;   /**< The IP address we're listening on */
@@ -558,14 +559,15 @@ GArray* parse_cfile(gchar* f, GError** e) {
                { "sparse_cow", FALSE,  PARAM_BOOL,     NULL, F_SPARSE },
                { "sdp",        FALSE,  PARAM_BOOL,     NULL, F_SDP },
                { "listenaddr", FALSE,  PARAM_STRING,   NULL, 0 },
+               { "cowname",    FALSE,  PARAM_STRING,   NULL, 0 },
        };
-       const int lp_size=14;
+       const int lp_size=sizeof(lp)/sizeof(PARAM);
        PARAM gp[] = {
                { "user",       FALSE, PARAM_STRING,    &runuser,       0 },
                { "group",      FALSE, PARAM_STRING,    &rungroup,      0 },
        };
        PARAM* p=gp;
-       int p_size=2;
+       int p_size=sizeof(gp)/sizeof(PARAM);
        GKeyFile *cfile;
        GError *err = NULL;
        const char *err_msg=NULL;
@@ -602,9 +604,11 @@ GArray* parse_cfile(gchar* f, GError** e) {
                lp[6].target=&(s.prerun);
                lp[7].target=&(s.postrun);
                lp[8].target=lp[9].target=lp[10].target=
-                               lp[11].target=lp[12].target=
-                               lp[13].target=&(s.flags);
-               lp[14].target=&(s.listenaddr);
+                               lp[11].target=lp[12].target=&(s.flags);
+               lp[13].target=&(s.listenaddr);
+               lp[14].target=&(s.cowname);
+
+               s.cowname = "$F-$I-$P.diff";
 
                /* After the [generic] group, start parsing exports */
                if(i==1) {