qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Mark Williamson <mark.williamson@cl.cam.ac.uk>
To: qemu-devel@nongnu.org
Cc: "Eric S. Johansson" <esj@harvee.org>
Subject: Re: [Qemu-devel] Re: file system sharing
Date: Sun, 31 Jul 2005 19:21:05 +0100	[thread overview]
Message-ID: <200507311921.06741.mark.williamson@cl.cam.ac.uk> (raw)
In-Reply-To: <dcilkq$md7$1@sea.gmane.org>

> Mark Williamson wrote:
> > If only one machine (host or guest) has mounted the device then it should
> > always be safe to do this.  You may get away with read only mounting in
> > one and writing in the other but it's not a reliable solution.  Never
> > allow more than one writer to the filesystem - this does bad things to
> > your filesystem!
>
> I am well aware of these issues having worked on filesystems in the
> 1980s and having designed and built one of the first RPC based networked
> filesystems in the late 80s for a CAD/CAM company.  To this day the nova
> architecture gives me the willies.

Ah yes.  Somehow whenever I work on a substantial project, I'm left with a new 
phobia ;-)  Just thought I'd mention it - I've hosed my own filesystems in 
similar ways (admittedly I should have thought what I was doing).

> I suspect based on a comment that someone else made about caching that I
> would need some sort of event to trigger a flush either by an explicit
> flush call or a close.  Would unmounting the disk image create such an
> event?

As far as QEmu's block layer is concerned?  Good question - I don't know 
enough about its internals to comment.  Can anyone verify if QEmu does 
internal caching for block IOs? (or anything else that'd cause coherency 
problems here, e.g. async IOs seem a likely candidate).

> > If you're using a file-based disk and it's partitioned you'll need to use
> > lomount
> > http://www.dad-answers.com/qemu/utilities/QEMU-HD-Mounter/lomount/ to
> > mount the right partition in the host.
>
> so what I can do is create the partition image on the host, start up
> qemu with that multi-partition disk image, do what I need to in qemu,
> shut down qemu and then I have a modified disk image.  if I need to
> modify it from the host, then I can use lomount to make it accessible as
> the local filesystem.

Yep.  You *could* take a disk file and format it all with one filesystem, 
which would make it directly mountable under the guest Linux.  However, the 
Linux loop driver doesn't like /partitioned/ "file disks" - lomount sorts 
this out in userspace by just mounting one partition at a time.  My thought 
was that if you were using (say) an image of a USB key, it'd probably have a 
partition table on it.

> > I imagine just giving the guest access to the device file would work.
>
> I'm not entirely sure how to do that.  would I just do something like:
>
> -hdc /dev/sda1
>
> as part of the command line?

That might work.  Alternatively, exporting the whole device -hdc /dev/sda 
might be worth a try.  Can't say I've ever tried it (so far!)

The alternative would be to use some network-based solution.  I'm sure you've 
thought of that but I seem to remember a user-friendly way of letting a QEmu 
guest access an SMB share, which would make it rather more convenient to set 
up.

Cheers,
Mark

  parent reply	other threads:[~2005-07-31 18:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-31  1:28 [Qemu-devel] file system sharing Eric S. Johansson
2005-07-31  1:58 ` Mark Williamson
2005-07-31  6:48   ` Mike Swanson
2005-07-31 10:42   ` Johannes Schindelin
2005-07-31 14:01   ` [Qemu-devel] " Eric S. Johansson
2005-07-31 14:49     ` Paul Brook
2005-07-31 18:21     ` Mark Williamson [this message]
2005-08-01  2:05       ` Brad Watson
2005-07-31 17:59   ` [Qemu-devel] lomount : " Eric S. Johansson

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=200507311921.06741.mark.williamson@cl.cam.ac.uk \
    --to=mark.williamson@cl.cam.ac.uk \
    --cc=esj@harvee.org \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).