Jeffrey Krueger wrote:
Also, are there any plans to make the C source version of ndmpcopy have "infinite incremental" capabilities as the jndmpcopy version does? By this I mean it allows for more than 9 incremental copies.
-- Jeff
...
-level 0-9|i The level of the dump to use. 0 is a dump of the full tree, 1 is the incremental since the level 0, level 2 is the incremental since the level 1, ...
For ONTAP 5.3 and later, level 'i' is the incremental since the last level 'i' (effectively incrementals forever).
Here are the diffs to add the "-level i" to ndmpcopy. No guarantees.
The "-level i" seems to copy the changes since the last level i, rather than since the last dump of any level (ie the first level i is always a level 0).
- Bruce -- Bruce Arden arden@nortelnetworks.com Nortel Networks, London Rd, Harlow, England +44 1279 40 2877 ---------------------------------------------------------
diff -c .snapshot/weekly.0/dump.c ./dump.c *** .snapshot/weekly.0/dump.c Tue Jun 22 19:41:05 1999 --- ./dump.c Wed Apr 18 19:03:14 2001 *************** *** 186,193 **** environment[3].value = "n"; environment[4].name = "FILESYSTEM"; environment[4].value = opts.src_dir; ! environment[5].name = "LEVEL"; ! environment[5].value = opts.level; environment[6].name = "EXTRACT"; environment[6].value = opts.extract;
--- 186,199 ---- environment[3].value = "n"; environment[4].name = "FILESYSTEM"; environment[4].value = opts.src_dir; ! if (strcmp(opts.level, "i") == 0) { ! environment[5].name = "REPLICATE"; ! environment[5].value = "Y"; ! } ! else { ! environment[5].name = "LEVEL"; ! environment[5].value = opts.level; ! } environment[6].name = "EXTRACT"; environment[6].value = opts.extract;
diff -c .snapshot/weekly.0/main.c ./main.c *** .snapshot/weekly.0/main.c Tue Jun 22 19:41:39 1999 --- ./main.c Thu Apr 19 10:18:36 2001 *************** *** 93,99 **** " dest_auth_password = %s\n" " ndmp_src_port = %d (0 means NDMP default, usually 10000)\n" " ndmp_dest_port = %d (0 means NDMP default, usually 10000)\n" ! " ndmp_dump_level = %s (valid range: 0 - 9)\n" " ndmp_dest_ip_addr = %s (no default: user needs to override dest_filer value)\n" " verbosity = %s\n" " different_passwords = %s\n\n", --- 93,99 ---- " dest_auth_password = %s\n" " ndmp_src_port = %d (0 means NDMP default, usually 10000)\n" " ndmp_dest_port = %d (0 means NDMP default, usually 10000)\n" ! " ndmp_dump_level = %s (valid range: 0 - 9 or i)\n" " ndmp_dest_ip_addr = %s (no default: user needs to override dest_filer value)\n" " verbosity = %s\n" " different_passwords = %s\n\n", *************** *** 166,172 **** opts.level[0] = **curarg; /* only recognize first digit */ opts.level[1] = '\0';
! if (opts.level[0] < '0' || opts.level[0] > '9') { fprintf(stderr,"Error: Invalid level %s.\n",opts.level); usage(); --- 166,173 ---- opts.level[0] = **curarg; /* only recognize first digit */ opts.level[1] = '\0';
! if ((opts.level[0] < '0' || opts.level[0] > '9') && ! opts.level[0] != 'i') { fprintf(stderr,"Error: Invalid level %s.\n",opts.level); usage();