Chapter 3.9 (http://www.gnu.org/software/tar/manual/tar.html#SEC48) say: "Warning messages are output to the standard error and they do not affect the exit code of|tar| command."
However the warning"%s: file changed as we read it" in fact only appears with a changed (non-zero) exit code. According to multiple discussions (for example: http://lists.gnu.org/archive/html/bug-tar/2007-08/msg00042.html) this is the intended behaviour, so the documentation should be fixed? I would like it even better if--warning=no-file-changed could be used to disable this non-zero exit code.