Bug #2388

ntfs mount problems (dfly 3.0.2 + ntfsprogs)

Added by tuxillo almost 2 years ago. Updated about 1 month ago.

Status:ClosedStart date:06/18/2012
Priority:HighDue date:
Assignee:tuxillo% Done:

90%

Category:VFS subsystem
Target version:3.8.0

Description

(Originally reported by Raimundo Santos)

Hi there!

Have some problem when trying to access a NTFS external hdd.

Mounted -> OK
a simple 'ls' -> OK
a 'ls -la' -> PANIC

panic: lockmgr: LK_RELEASE: no lock held
cpuid = 1
Trace beginning at frame 0xffffffe120ef06c8
panic() at panic+0x1fb 0xffffffff8049a9cd
panic() at panic+0x1fb 0xffffffff8049a9cd
lockmgr() at lockmgr+0x56d 0xffffffff8048bb16
vn_unlock() at vn_unlock+0x15 0xffffffff80515373
vop_compat_nresolve() at vop_compat_nresolve+0xdb 0xffffffff804fdb8d
vop_defaultop() at vop_defaultop+0x10 0xffffffff804fcd12
vop_nresolve() at vop_nresolve+0x5b 0xffffffff80516c85
cache_resolve() at cache_resolve+0x750 0xffffffff804f975a
nlookup() at nlookup+0x354 0xffffffff8050378b
kern_stat() at kern_stat+0x1c 0xffffffff80511e8d
sys_lstat() at sys_lstat+0x3e 0xffffffff80511ff2
syscall2() at syscall2+0x370 0xffffffff8075af61
Xfast_syscall() at Xfast_syscall+0xcb 0xffffffff807448eb
Debugger("panic")

After that, tryied the TAB key in my zsh just to complete a rsync command, and panic again.

My intention is to do a backup solution with HAMMER both in the machine and in the external hdd, and mirror the machine on to the ext. hdd. But by now, the hdd is a NTFS partition.

uname -a :

DragonFly rtcprime.mondoextremoh 3.0-RELEASE DragonFly v3.0.2.55.g27ab5-RELEASE #3: Sun Jun 17 18:38:48 BRT 2012 :/usr/obj/usr/src/sys/X86_64_GENERIC x86_64

(compiled yesterday)

some clue?
thanks!

--
--------------------------------------------
Raimundo A. P. Santos
Bacharelando em Informática
ICMC - USP

core.txt.2 (131 KB) raitech, 06/19/2012 09:08 PM


Related issues

Related to Bug #2336: 3.0.3 catchall Resolved 03/26/2012
Related to Bug #2402: Showstopper panics for Release 3.2 New 08/15/2012
Related to Bug #1853: panic trying to read from damaged disk Closed

Associated revisions

Revision b07e7f2d
Added by tuxillo about 1 month ago

kernel/ntfs - Fix buffer overlapping problems.

- Read only one cluster at a time.
- Do not cache boot block.

Taken-from: FreeBSD's r118035
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2388>

(Commit refs #2388 and fixes #1853)

Revision 3ed4c2fb
Added by tuxillo 27 days ago

kernel/ntfs - Fix buffer overlapping problems.

- Read only one cluster at a time.
- Do not cache boot block.

Taken-from: FreeBSD's r118035
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2388>

(Commit refs #2388 and fixes #1853)

History

#1 Updated by tuxillo almost 2 years ago

  • Status changed from New to In Progress
  • Assignee set to tuxillo
  • Priority changed from Normal to High
  • % Done changed from 0 to 10

I've been able to reproduce it reliably, so no need to upload a core.

#2 Updated by tuxillo almost 2 years ago

  • Status changed from In Progress to Feedback
  • % Done changed from 10 to 90

Fix in commit abe9d9ec9d654eb64bf9808c39d8658c61e34ca2 on master.

Raimundo, can you please give it a try?
You can cherry pick the commit to your 3.0 branch and build the module then.

Let us know.

Cheers,
Antonio Huete

#3 Updated by raitech almost 2 years ago

The same test, after cherry pick (buildworld, buildkernel, installs, and upgrade):

mount -> OK
ls -> OK
ls -la -> PANIC

dir completion on TAB -> PANIC

And the core.txt is much longer, so it is attached.

Thanks in advance for the work!

#4 Updated by raitech almost 2 years ago

ops, noob here...

some part of the process was missing. Retrying now.

#5 Updated by raitech almost 2 years ago

Holly Brian!

It worked. :)

Thank you very much, Antonio!

#6 Updated by raitech almost 2 years ago

oh.... wait: the machine freezes when trying to copy a lot of data!

First tested with the initial external HDD, and now, with an internal disk with a NTFS formatted partition, at least rsync gave a panic:

The rsync command was: rsync -rltgoDuvh /mnt /var/dataholder/data_backup

And there was a panic!

The cpdup command was: cpdup -vvvvI /mnt/. /var/dataholder/data_backup

... and this just froze the system again, after coping 12GB of 69GB total.

Ah! That is in time to say that all thee tests were made with: mount_ntfs -u raitech -g users /dev/source /dest. And the copy commands issued as a normal user.

Tryied with:

rsync -rltgoDuvh /mnt/* /var/dataholder/data_backup AND mount_ntfs -u raitech -g users /dev/source /dest
SAME PANIC

rsync -rltgoDuvh /mnt/* /var/dataholder/data_backup AND mount_ntfs /dev/source /dest
SAME PANIC

Here is a partial copy of the PANIC on a core.txt file:

Mon Jun 25 02:47:09 BRT 2012

Version String: DragonFly v3.0.2.60.g00275d-RELEASE #0: Sun Jun 24 22:21:36 BRT 2012 root@:/usr/obj/usr/src/sys/X86_64_GENERIC

panic: bgetvp - overlapping buffer

GNU gdb (GDB) 7.3
...
Reading symbols from /boot/kernel/kernel...done.

Unread portion of the kernel message buffer:
bgetvp: overlapr 0000000000006000/4096 0000000000006800 bp 0xffffffe01b66d788 bx 0xffffffe01b061c90
panic: bgetvp - overlapping buffer
cpuid = 1
Trace beginning at frame 0xffffffe121cc6278
panic() at panic+0x1fb 0xffffffff8049a9cd
panic() at panic+0x1fb 0xffffffff8049a9cd
bgetvp() at bgetvp+0x16e 0xffffffff80506945
getblk() at getblk+0x3f9 0xffffffff804f3605
breadnx() at breadnx+0x3f 0xffffffff804f37de
ntfs_readntvattr_plain() at ntfs_readntvattr_plain+0x19e 0xffffffff83434844
ntfs_readattr_plain() at ntfs_readattr_plain+0x107 0xffffffff834357ea
ntfs_readattr() at ntfs_readattr+0x32e 0xffffffff83435ba0
ntfs_loadntnode() at ntfs_loadntnode+0x13d 0xffffffff834351b4
ntfs_findvattr() at ntfs_findvattr+0x3d 0xffffffff83435383
ntfs_ntvattrget() at ntfs_ntvattrget+0x82 0xffffffff834354cc
ntfs_ntreaddir() at ntfs_ntreaddir+0x7a 0xffffffff8343615a
ntfs_readdir() at ntfs_readdir+0x192 0xffffffff83433612
vop_readdir() at vop_readdir+0x6b 0xffffffff80517980
kern_getdirentries() at kern_getdirentries+0xfb 0xffffffff8050fdfc
sys_getdirentries() at sys_getdirentries+0x28 0xffffffff8050fed7
syscall2() at syscall2+0x370 0xffffffff8075af61
Xfast_syscall() at Xfast_syscall+0xcb 0xffffffff807448eb
Debugger("panic")

#7 Updated by tuxillo over 1 year ago

  • Status changed from Feedback to In Progress

Raimundo,

I'm going to try to copy some gigs from a NTFS volume. Let's see if I can hit the error.

Cheers,
Antonio Huete

#8 Updated by tuxillo about 1 month ago

  • Related to Bug #1853: panic trying to read from damaged disk added

#9 Updated by tuxillo about 1 month ago

  • Description updated (diff)
  • Category set to VFS subsystem
  • Status changed from In Progress to Feedback
  • Target version set to 3.8.0

Hi Raimundo,

It should be fixed in latest master.
Please check the revisions related to this ticket.

Cheers,
Antonio Huete

#10 Updated by tuxillo about 1 month ago

  • Status changed from Feedback to Closed

Closing this one.

Also available in: Atom PDF