Thanks for reporting, apparently /etc/vzdump.conf has been left out in the cold for a while... I just posted a fix for this using PVE::Tools::split_args() (like it used to be before July) which uses Text::ParseWords::shellwords() and basically separates the paths the way a shell would do, by whitespace unless escaped with a backslash or enclosed in quotes etc.
More comments inline: > (...) > Although the "format" of key "exclude-path" is set to "string-alist", no > matter > what text I put in vzdump.conf, the parser always makes a simple string with > it. The '-alist' suffix is used only by the command line argument parser to allow providing a parameter several times. (# vzdump 100 -exclude-path /a -exclude-path /b) It's either an array or a NUL-byte separated string, but places which use these need to deal with them directly, and this was lost when moving to a unified parsing method. (Overall it simplified things but apparently we didn't catch all the previous special cases...) > I ended up using split(" ", $defaults->{'exclude-path'}) and removing the > single-quotes from my vzdump.conf. > > This made it work again, except I had to do it to defaults and opt->... to get > rid of the error. The result is that the excludes are added twice on the tar > cmd > line. > > Also, the stdexcludes is broken as well. The block starting with "if > ($opts->{stdexcludes}) {" is not executed even though it should based on the > fact that I don't mention it and it should therefore default to true. About to send another patch for that. $opts->{stdexcludes} only handles the command line argument. > This all seems very broken and there's a couple of old thread on the forums > that > talk about this. > > What is the official stance on the subject? Working on it ;-) _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel