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

Reply via email to