On 07/13/2011 07:35 AM, Matthias Bolte wrote: >> @@ -516,13 +516,13 @@ virFDStreamOpenFileInternal(virStreamPtr st, >> int errfd = -1; >> pid_t pid = 0; >> >> - VIR_DEBUG("st=%p path=%s flags=%x offset=%llu length=%llu mode=%o delete=%d", >> - st, path, flags, offset, length, mode, delete); >> + VIR_DEBUG("st=%p path=%s oflags=%x offset=%llu length=%llu mode=%o delete=%d", >> + st, path, oflags, offset, length, mode, delete); > > In 02/27 you added a syntax-check rule to enforce flags=%x. Does this > automatically cover oflags too, or does this need a change in the > rule? Hmm, as committed in 2/27, it checked '\<flags=%...'. If we remove the \< then it would also cover oflags, and that's probably a good change to make. I'll do it, and see what fallout it causes. > >> @@ -564,7 +564,7 @@ virFDStreamOpenFileInternal(virStreamPtr st, >> cmd = virCommandNewArgList(LIBEXECDIR "/libvirt_iohelper", >> path, >> NULL); >> - virCommandAddArgFormat(cmd, "%d", flags); >> + virCommandAddArgFormat(cmd, "%d", oflags); > > In 02/27 you changed the printing of flags from %d to %x in debug > output. Maybe we should do that here too for consistence and adapt > libvirt_iohelper? Or is there any possibility for a version mismatch > between libvirt and libvirt_iohelper and we cannot change this anymore > without breaking backwards compatibility? I thought about this (independently, because I'm working on an O_DIRECT patch for iohelper), and my conclusion was that normally libvirtd and libvirt_iohelper are installed at the same time. However, there is indeed a window where: Older libvirtd is running, and you install the newer executables. Then the older libvirtd calls out to libvirt_iohelper, and executes the new one. That is, if you install a new libvirtd package, but don't restart the libvirtd daemon, then the new libvirt_iohelper must understand the syntax that will be handed it by the older still-running libvirtd. Therefore, my conclusion is that we can't change any existing command lines, but can only add new ones. Adding new could include using "0x" or "0" prefixes (the old code output decimal, so it is distinguishable, and the new iohelper command line would then be that much easier to understand if you browse /proc/nnn/ to learn the command line that iohelper is using). > >> virCommandAddArgFormat(cmd, "%d", mode); > > Same comment applies here about mode and switching from %d to %o. I'll look into that, as a separate patch. > > ACK. I already have to post a v2, so we'll get another round of review on this commit as well as the couple of fallout suggestions raised here. -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list