Hi,

The problem is qemu "silently falling back to opening the block device 
read-only" and keep telling it's RW instead of returning EROFS.

NTFS-3G can handle errors when lower layers report an error, not when they
say "everything is fine, please keep doing it".

        Szaka


On Mon, 14 Dec 2009, Richard W.M. Jones wrote:

> 
> Mounting an NTFS partition fails somewhat spectacularly if the NTFS
> partition is unclean, and if the backing block device is read-only.
> 
> Specifically, when you run a virtual machine in qemu, if qemu cannot
> open a block device read-write then it silently falls back to opening
> the block device read-only.  Any writes to the block device cause
> virtual IDE errors.
> 
> The full log of what happens is here:
> 
> https://bugzilla.redhat.com/attachment.cgi?id=378312
> (from https://bugzilla.redhat.com/show_bug.cgi?id=547479#c2)
> 
> The interesting part starts:
> 
> mount -o sync,noatime /dev/sda2 /sysroot/
> [    2.444156] fuse init (API version 7.12)
> The disk contains an unclean file system (0, 0).
> The file system wasn't safely closed on Windows. Fixing.
> [    2.698844] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
> [    2.700865] ata1.00: BMDMA stat 0x5
> [    2.701944] ata1.00: cmd ca/00:01:30:da:5f/00:00:00:00:00/e0 tag 0 dma 512 
> out
> [    2.701945]          res 41/04:01:30:da:5f/00:00:00:00:00/e0 Emask 0x1 
> (device error)
> [    2.706525] ata1.00: status: { DRDY ERR }
> [    2.707757] ata1.00: error: { ABRT }
> [    2.714183] ata1.00: configured for MWDMA2
> [    2.715482] ata1: EH complete
> [    2.716717] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
> [    2.718787] ata1.00: BMDMA stat 0x5
> [    2.719863] ata1.00: cmd ca/00:01:30:da:5f/00:00:00:00:00/e0 tag 0 dma 512 
> out
> [    2.719864]          res 41/04:01:30:da:5f/00:00:00:00:00/e0 Emask 0x1 
> (device error)
> [    2.724556] ata1.00: status: { DRDY ERR }
> [    2.725787] ata1.00: error: { ABRT }
> [    2.734638] ata1.00: configured for MWDMA2
> [    2.736098] ata1: EH complete
> [    2.737589] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
> [    2.739597] ata1.00: BMDMA stat 0x5
> [    2.740676] ata1.00: cmd ca/00:01:30:da:5f/00:00:00:00:00/e0 tag 0 dma 512 
> out
> [    2.740677]          res 41/04:01:30:da:5f/00:00:00:00:00/e0 Emask 0x1 
> (device error)
> [    2.745984] ata1.00: status: { DRDY ERR }
> [    2.747213] ata1.00: error: { ABRT }
> [    2.752600] ata1.00: configured for MWDMA2
> [    2.754177] ata1: EH complete
> [    2.755360] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
> [    2.757325] ata1.00: BMDMA stat 0x5
> [    2.758408] ata1.00: cmd ca/00:01:30:da:5f/00:00:00:00:00/e0 tag 0 dma 512 
> out
> [    2.758409]          res 41/04:01:30:da:5f/00:00:00:00:00/e0 Emask 0x1 
> (device error)
> [    2.762942] ata1.00: status: { DRDY ERR }
> [    2.764174] ata1.00: error: { ABRT }
> [    2.777100] ata1.00: configured for MWDMA2
> [    2.778449] ata1: EH complete
> [    2.779638] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
> [    2.781592] ata1.00: BMDMA stat 0x5
> [    2.782672] ata1.00: cmd ca/00:01:30:da:5f/00:00:00:00:00/e0 tag 0 dma 512 
> out
> [    2.782673]          res 41/04:01:30:da:5f/00:00:00:00:00/e0 Emask 0x1 
> (device error)
> [    2.787197] ata1.00: status: { DRDY ERR }
> [    2.788424] ata1.00: error: { ABRT }
> [    2.791569] ata1.00: configured for MWDMA2
> [    2.792840] ata1: EH complete
> 
> and so on and so on for a long time.
> 
> I think that NTFS-3g should recognize these errors and fail earlier.
> 
> I tested this on:
> 
> ntfs-3g-2009.4.4-3.fc12.x86_64
> ntfs-3g-2009.11.14-2.fc12.x86_64
> 
> and got the same results with both.
> 
> Rich.
> 
> -- 
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> virt-p2v converts physical machines to virtual machines.  Boot with a
> live CD or over the network (PXE) and turn machines into Xen guests.
> http://et.redhat.com/~rjones/virt-p2v
> 
> ------------------------------------------------------------------------------
> Return on Information:
> Google Enterprise Search pays you back
> Get the facts.
> http://p.sf.net/sfu/google-dev2dev
> _______________________________________________
> ntfs-3g-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel
> 

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
ntfs-3g-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel

Reply via email to