[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: file system sharing
From: |
Mark Williamson |
Subject: |
Re: [Qemu-devel] Re: file system sharing |
Date: |
Sun, 31 Jul 2005 19:21:05 +0100 |
User-agent: |
KMail/1.8.1 |
> 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