I have a PC setup to dual boot Gentoo Linux & WinXP Pro SP2 and continue
to have a segmentation fault when trying to mount one of my ntfs
partitions under linux. I've tried this with several 2.6.8 and 2.6.9
kernels (currently 2.6.9-gentoo-r1) and have had the same issue each
time. I've also tried this with the ntfs kernel driver complied both
monolithic and as a module (current).
The issue is that I can mount one of my ntfs partitions without issue
but when trying to mount the XP OS partition (/dev/hda1) I receive a
"Segmentation Fault" error and the mount command exits. If I try to
mount it a second time then the command line just hangs.
The odd part is that Windows boots just fine off this partition and I've
defragmented the drive and run chkdsk (with the 'fix errors' option)
multiple times under Win with no issues.
I've provided some snipped dmesg output below while trying to mount at
boot with the following options in fstab:
/dev/hda1 /mnt/winxp ntfs auto,ro,owner,user,nosuid,nodev,umask=0227 0 0
Since the partition works fine natively and I can cleanly mount my other
ntfs partition via linux I can't tell if there's genuinely an issue with
the partition or if this is a buggy error from the driver. Any suggestions?
Thanks,
Ken
dmesg output:
[snip]
NTFS driver 2.1.20 [Flags: R/O MODULE].
ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1f.5 to 64
intel8x0_measure_ac97_clock: measured 49327 usecs
intel8x0: clocking to 41148
NTFS-fs error (device hda1): ntfs_end_buffer_async_read():
post_read_mst_fixup() failed, corrupt mft record 0x12. Run chkdsk.
NTFS-fs error (device hda1): ntfs_end_buffer_async_read(): Setting page
error, i ndex 0x4.
NTFS-fs error (device hda1): map_mft_record_page(): Failed with error
code 5.
NTFS-fs error (device hda1): map_mft_record(): Failed with error code 5.
NTFS-fs error (device hda1): map_extent_mft_record(): Failed to map
extent mft r ecord, error code 5.
NTFS-fs error (device hda1): ntfs_external_attr_find(): Failed to map
extent mft record 0x10 of base inode 0x0. Unmount and run chkdsk.
------------[ cut here ]------------
kernel BUG at fs/ntfs/mft.c:295!
invalid operand: 0000 [#1]
PREEMPT
Modules linked in: snd_intel8x0 snd_ac97_codec gameport snd_mpu401_uart
snd_rawm idi ntfs nvidia e100 joydev evdev tsdev
CPU: 0
EIP: 0060:[<e19d8b0a>] Tainted: P VLI
EFLAGS: 00010246 (2.6.9-gentoo-r1)
EIP is at unmap_mft_record+0x58/0x6a [ntfs]
eax: dec89970 ebx: dec89970 ecx: df9c8300 edx: 00000000
esi: df707080 edi: df711c38 ebp: df7070a0 esp: ded6fd70
ds: 007b es: 007b ss: 0068
Process mount (pid: 5645, threadinfo=ded6e000 task=ded30560)
Stack: fffffffb e19d0ccd dec89970 dff86e00 e19dde1c 00000010 00000000
e19dd5be
00000000 0000000c df707080 00000000 df70709a df7070e0 df707000
c14d1d80
de425c80 00000000 000363fc 00000000 00000000 00000000 00000080
dec89970
Call Trace:
[<e19d0ccd>] ntfs_external_attr_find+0x3be/0x6e2 [ntfs]
[<e19d7be4>] ntfs_read_inode_mount+0x2e3/0x9f3 [ntfs]
[<e19dbd20>] ntfs_fill_super+0x288/0x7a3 [ntfs]
[<c015b0a6>] sb_set_blocksize+0x2e/0x5d
[<c015aa52>] get_sb_bdev+0x103/0x135
[<e19dc28a>] ntfs_get_sb+0x2f/0x33 [ntfs]
[<e19dba98>] ntfs_fill_super+0x0/0x7a3 [ntfs]
[<c015acbd>] do_kern_mount+0xa2/0x15f
[<c0170622>] do_new_mount+0x73/0xb5
[<c0170d12>] do_mount+0x172/0x1be
[<c0170b47>] copy_mount_options+0x63/0xbc
[<c01710fa>] sys_mount+0xb9/0x142
[<c010407b>] syscall_call+0x7/0xb
Code: c7 43 54 00 00 00 00 8d 4b 40 ff 43 40 0f 8e 30 03 00 00 ff 4b 1c
5b c3 89 d0 e8 14 7d 76 de eb d8 0f 0b 3e 01 3c d8 9d e1 eb c3 <0f> 0b
27 01 4f d8 9d e1 0f 0b 0f 01 4f d8 9d e1 eb a2 55 31 ed
<6>Real Time Clock Driver v1.12
[/snip]
|