All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: qemu-devel@nongnu.org, berrange@redhat.com,
	"Alex Bennée" <alex.bennee@linaro.org>,
	pbonzini@redhat.com, stefanha@redhat.com,
	"Cleber Rosa" <crosa@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	eblake@redhat.com, "Kamil Rytarowski" <kamil@netbsd.org>
Subject: Re: [Qemu-devel] [PATCH v3 03/10] tests: Add vm test lib
Date: Tue, 29 Aug 2017 01:18:27 +0800	[thread overview]
Message-ID: <20170828171827.GF18194@lemon.lan> (raw)
In-Reply-To: <cf40501d-a61f-6e48-687c-fff4b9db47c4@amsat.org>

On Tue, 08/22 11:23, Philippe Mathieu-Daudé wrote:
> On 08/22/2017 11:00 AM, Fam Zheng wrote:
> > On Tue, 08/22 08:19, Philippe Mathieu-Daudé wrote:
> > > > +    def add_source_dir(self, data_dir):
> > > > +        name = "data-" + hashlib.sha1(data_dir).hexdigest()[:5]
> > > > +        tarfile = os.path.join(self._tmpdir, name + ".tar")
> > > > +        logging.debug("Creating archive %s for data dir: %s", tarfile, data_dir)
> > > > +        subprocess.check_call(["tar", "--exclude-vcs",
> > > 
> > > --exclude-vcs-ignores will process .gitignore,
> > 
> > Sounds useful, thanks!
> > 
> > > you can also list with 'git ls-files',
> > > or generate tarball with scripts/make-release
> > 
> > They won't handle submodules, will they?
> 
> "git ls-files --recurse-submodules"

Not good, I somehow hit an infinite erroneous output with
"--recurse-submodules":

$ git ls-files --recurse-submodules
...
pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/include/hw/timer/imx_epit.h
pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/include/hw/timer/imx_gpt.h
pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/include/hw/timer/m48t59.h
pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/include/hw/timer/mc146818rtc.h
pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/include/hw/timer/mc146818rtc_regs.h
pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/include/hw/timer/mips_gictimer.h
pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/include/hw/timer/stm32f2xx_timer.h
pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/pixman/include/hw^C

$ git version

2.13.5

So it's opted out.

So I'll add some detection code for gtar, use --exclude-vcs-ignores and call it a day.

Fam

> 
> This way you can avoid the --exclude-vcs-ignores which is too recent for
> NetBSD as remarked Kamil, and avoid the tar --exclude=
> 
> > > 
> > > > +                               "--exclude=tests/vm/*.img",
> > > > +                               "--exclude=tests/vm/*.img.*",
> > > > +                               "--exclude=*.d",
> > > > +                               "--exclude=*.o",
> > > > +                               "--exclude=docker-src.*",
> > > > +                               "-cf", tarfile, '.'], cwd=data_dir,
> > > > +                              stdin=self._devnull, stdout=self._stdout)
> > > > +        self._data_args += ["-drive",
> > > > +                            "file=%s,if=none,id=%s,cache=writeback,format=raw" % \
> > > > +                                    (tarfile, name),
> > > > +                            "-device",
> > > > +                            "virtio-blk,drive=%s,serial=%s,bootindex=1" % (name, name)]
> > > 
> > > what about mounting readonly via '-device virtio-9p-pci' (not using
> > > tarball)?
> > > 
> > 
> > It doesn't work. That way an out-of-tree build is required in the guest, but if
> > an in-tree build has been done in host side, out-of-tree builds fail.  Also the
> > performance will be much worse, I believe: untar is sequential read, and after
> > that everything is in the guest page cache; with virtio-9p, there will be a
> > large amount of "random" requests between guest and host.
> 
> Indeed you are correct, I didn't think of it, thank to remember me that :)

  reply	other threads:[~2017-08-28 17:18 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-22  4:41 [Qemu-devel] [PATCH v3 00/10] tests: Add VM based build tests (for non-x86_64 and/or non-Linux) Fam Zheng
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 01/10] gitignore: Ignore vm test images Fam Zheng
2017-08-22 11:07   ` Philippe Mathieu-Daudé
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 02/10] qemu.py: Add "wait()" method Fam Zheng
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 03/10] tests: Add vm test lib Fam Zheng
2017-08-22 11:19   ` Philippe Mathieu-Daudé
2017-08-22 12:33     ` Kamil Rytarowski
2017-08-22 14:00     ` Fam Zheng
2017-08-22 14:23       ` Philippe Mathieu-Daudé
2017-08-28 17:18         ` Fam Zheng [this message]
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 04/10] tests: Add ubuntu.i386 image Fam Zheng
2017-08-24 15:28   ` Cleber Rosa
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 05/10] tests: Add FreeBSD image Fam Zheng
2017-08-24 15:33   ` Cleber Rosa
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 06/10] tests: Add NetBSD image Fam Zheng
2017-08-23 15:15   ` Kamil Rytarowski
2017-08-24  9:25     ` Fam Zheng
2017-08-24 15:37   ` Cleber Rosa
2017-08-25  8:54     ` Fam Zheng
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 07/10] tests: Add OpenBSD image Fam Zheng
2017-08-24 15:34   ` Cleber Rosa
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 08/10] Makefile: Add rules to run vm tests Fam Zheng
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 09/10] MAINTAINERS: Add tests/vm entry Fam Zheng
2017-08-22  4:41 ` [Qemu-devel] [PATCH v3 10/10] tests: Add README for vm tests Fam Zheng
2017-08-22 13:38   ` Stefan Hajnoczi
2017-08-22 14:13     ` Fam Zheng
2017-08-22  7:53 ` [Qemu-devel] [PATCH v3 00/10] tests: Add VM based build tests (for non-x86_64 and/or non-Linux) no-reply
2017-08-22 13:45 ` Stefan Hajnoczi
2017-08-22 13:58 ` Paolo Bonzini
2017-08-22 14:23   ` Kamil Rytarowski
2017-08-22 14:29   ` Fam Zheng
2017-08-22 14:33 ` Kamil Rytarowski
2017-08-24  9:27   ` Fam Zheng
2017-08-24 15:06 ` Cleber Rosa
2017-08-25  9:25   ` Fam Zheng
2017-08-25 10:01     ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170828171827.GF18194@lemon.lan \
    --to=famz@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=crosa@redhat.com \
    --cc=eblake@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=kamil@netbsd.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.