volser: use also vn_length_hi in dump size calculation
authorHartmut Reuter <reuter@rzg.mpg.de>
Mon, 10 Mar 2014 16:21:21 +0000 (17:21 +0100)
committerJeffrey Altman <jaltman@your-file-system.com>
Thu, 20 Mar 2014 18:57:47 +0000 (11:57 -0700)
Only the low order 32 bits of the file length were used.
Now using macro VNDISK_GET_LEN instead of direct FillInt64.

FIXES 131819

Change-Id: Iaecd68764f4b071d6b8c838362e7e657578d9b2f
Reviewed-on: http://gerrit.openafs.org/10876
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/volser/dumpstuff.c

index 5b4176d..0323922 100644 (file)
@@ -1836,7 +1836,11 @@ SizeDumpVnode(struct iod *iodp, struct VnodeDiskObject *v, int volid,
     }
 
     if (VNDISK_GET_INO(v)) {
-       FillInt64(addvar,0, (v->length + 5));
+       VNDISK_GET_LEN(addvar, v);
+       if (v->vn_length_hi)
+           addvar += 9;
+       else
+           addvar += 5;
        AddUInt64(v_size->dump_size, addvar, &v_size->dump_size);
     }
     return code;