FAQ SearchLogin
Tuxera Home
View unanswered posts | View active topics It is currently Wed Nov 25, 2020 09:13



Post new topic Reply to topic  [ 10 posts ] 
version 2013.1.13 mount fails on gentoo 
Author Message

Joined: Fri Jan 09, 2015 01:26
Posts: 7
Post version 2013.1.13 mount fails on gentoo
Hi,

I recall that this used to work on my machine a while ago, but after many updates ntfs-3g seems to have stopped working. I tried debugging it but the behavior is strange: it mounts the drive and then unmounts it. Here's my fstab entry:
Code:
/dev/mapper/nvidia_ceebaiib2    /mnt/tv         ntfs-3g defaults,debug,noauto   0       2


When I do 'mount /mnt/tv', there is no error in dmesg. Here's what I see on journalctl -r:
Code:
Jan 08 22:55:56 *** systemd[1]: Unmounted /mnt/tv.
Jan 08 22:55:56 *** systemd[1]: Unmounting /mnt/tv...
Jan 08 22:55:56 *** systemd[1]: Unit mnt-tv.mount is bound to inactive service. Stopping, too.


The actual debug output from the mount command is attached.

This is not specific to this partition, as another partion also fails to mount. My system is:
Code:
# uname -a
Linux antec 3.13.4-gentoo #1 SMP PREEMPT Sun May 11 12:36:34 EDT 2014 x86_64 Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz GenuineIntel GNU/Linux


The NTFS filesystem is:
Code:
# ntfsinfo -fm /dev/mapper/nvidia_ceebaiib2
Volume Information
        Name of device: /dev/mapper/nvidia_ceebaiib2
        Device state: 11
        Volume Name:
        Volume State: 91
        Volume Flags: 0x0000
        Volume Version: 3.1
        Sector Size: 512
        Cluster Size: 4096
        Index Block Size: 4096
        Volume Size in Clusters: 29439112
MFT Information
        MFT Record Size: 1024
        MFT Zone Multiplier: 0
        MFT Data Position: 24
        MFT Zone Start: 786432
        MFT Zone End: 4466321
        MFT Zone Position: 786432
        Current Position in First Data Zone: 4466321
        Current Position in Second Data Zone: 0
        Allocated clusters 49656 (0.2%)
        LCN of Data Attribute for FILE_MFT: 786432
        FILE_MFTMirr Size: 4
        LCN of Data Attribute for File_MFTMirr: 14719556
        Size of Attribute Definition Table: 2560
        Number of Attached Extent Inodes: 0
FILE_Bitmap Information
        FILE_Bitmap MFT Record Number: 6
        State of FILE_Bitmap Inode: 80
        Length of Attribute List: 0
        Number of Attached Extent Inodes: 0
FILE_Bitmap Data Attribute Information
        Decompressed Runlist: not done yet
        Base Inode: 6
        Attribute Types: not done yet
        Attribute Name Length: 0
        Attribute State: 3
        Attribute Allocated Size: 3682304
        Attribute Data Size: 3679896
        Attribute Initialized Size: 3679896
        Attribute Compressed Size: 0
        Compression Block Size: 0
        Compression Block Size Bits: 0
        Compression Block Clusters: 0
        Free Clusters: 2921990 (9.9%)


NTFS-3G version:
Code:
# eix sys-fs/ntfs3g
[I] sys-fs/ntfs3g
     Available versions:  2013.1.13 ~2014.2.15 {acl debug +external-fuse ntfsdecrypt +ntfsprogs static-libs suid xattr}
     Installed versions:  2013.1.13(04:00:12 PM 01/08/2015)(acl debug external-fuse ntfsdecrypt ntfsprogs xattr -static-libs -suid)
     Homepage:            http://www.tuxera.com/community/ntfs-3g-download/
     Description:         Open source read-write NTFS driver that runs under FUSE


I tested that FUSE works (e.g. with sshfs). Any clues on what may be happening?


Attachments:
File comment: Output of 'mount /mnt/tv'
ntfs-3g.debug.gz [4.31 KiB]
Downloaded 1016 times
Fri Jan 09, 2015 06:08
Profile
NTFS-3G Lead Developer

Joined: Tue Sep 04, 2007 17:22
Posts: 1286
Post Re: version 2013.1.13 mount fails on gentoo
Hi,

From your debug data :
Code:
INIT: 7.22
flags=0x0000f7fb
max_readahead=0x00020000
   INIT: 7.19
   flags=0x00000051
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0

There appears to be some incompatibility of versions between the fuse kernel and the fuse library which show protocol versions 7.22 (kernel) and 7.19 (library, older).

First check for an update of the fuse library. If you do not have an upgrade at hand, best to recompile ntfs-3g from source and use its own version of the fuse library, which will negotiate a protocol version 7.12. Just remove "--with-fuse=external" from your ./configure options.

Note : this could be a consequence of a bug recently found in fuse being initialized before the protocol version is negotiated : see http://article.gmane.org/gmane.comp.fil ... evel/14525

Regards

Jean-Pierre


Fri Jan 09, 2015 09:49
Profile

Joined: Fri Jan 09, 2015 01:26
Posts: 7
Post Re: version 2013.1.13 mount fails on gentoo
Jean-Pierre: Thanks for the quick reply!

I see now that those two version numbers are mismatching. My Gentoo was stuck between upgrades, and I guess it's showing here. Although I don't understand how SSHFS is working. Is NTFS-3G stopping as a sanity check? Maybe it should give out a more verbose error if that's the case.

I tried compiling without external-fuse, but this time I got an even bigger version mismatch:

Code:
# mount -t ntfs-3g -o debug /dev/mapper/nvidia_ceebaiib2 /mnt/tv
utime_omit_ok: 1
Version 2013.1.13 integrated FUSE 28
Mounted /dev/mapper/nvidia_ceebaiib2 (Read-Write, label "", NTFS 3.1)
Cmdline options: rw,debug
Mount options: rw,allow_other,nonempty,relatime,fsname=/dev/mapper/nvidia_ceebaiib2,blkdev,blksize=4096
Ownership and permissions disabled, configuration type 7
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56
INIT: 7.22
flags=0x0000f7fb
max_readahead=0x00020000
   INIT: 7.12
   flags=0x00000041
   max_readahead=0x00020000
   max_write=0x00020000
   unique: 1, error: 0 (Success), outsize: 40
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56
   unique: 2, error: 0 (Success), outsize: 120
unique: 3, opcode: GETATTR (3), nodeid: 1, insize: 56
   unique: 3, error: 0 (Success), outsize: 120
unique: 4, opcode: FORGET (2), nodeid: 1, insize: 48
FORGET 1/1
unique: 5, opcode: DESTROY (38), nodeid: 0, insize: 40
Unmounting /dev/mapper/nvidia_ceebaiib2 ()
   unique: 5, error: 0 (Success), outsize: 16


I will try to fix the inconsistencies in my Gentoo system. Thanks for pointing out the problem!
-Cengiz


Fri Jan 09, 2015 19:13
Profile

Joined: Fri Jan 09, 2015 01:26
Posts: 7
Post Re: version 2013.1.13 mount fails on gentoo
I also recompiled fuse to no avail. Here's my fuse kernel module:

Code:
# modinfo /lib/modules/3.13.4-gentoo/kernel/fs/fuse/fuse.ko
filename:       /lib/modules/3.13.4-gentoo/kernel/fs/fuse/fuse.ko
alias:          devname:fuse
alias:          char-major-10-229
alias:          fs-fuseblk
alias:          fs-fuse
license:        GPL
description:    Filesystem in Userspace
author:         Miklos Szeredi <miklos@szeredi.hu>
alias:          fs-fusectl
depends:       
intree:         Y
vermagic:       3.13.4-gentoo SMP preempt mod_unload
parm:           max_user_bgreq:Global limit for the maximum number of backgrounded requests an unprivileged user can set (uint)
parm:           max_user_congthresh:Global limit for the maximum congestion threshold an unprivileged user can set (uint)


Not sure what API version does this one have. I'm still confused what is the source of the incompatibility.


Fri Jan 09, 2015 19:41
Profile
NTFS-3G Lead Developer

Joined: Tue Sep 04, 2007 17:22
Posts: 1286
Post Re: version 2013.1.13 mount fails on gentoo
Hi again,

Quote:
I see now that those two version numbers are mismatching. My Gentoo was stuck between upgrades, and I guess it's showing here.

The version mismatch is not wrong. The kernel part of fuse and the library part negotiate an agreement on a protocol version they both support. But in your situation the kernel part gives up immediately after the negotiation.
Quote:
Is NTFS-3G stopping as a sanity check? Maybe it should give out a more verbose error if that's the case.

Actually, it is the fuse kernel which is stopping, and this happens before any communication with ntfs-3g has taken place.
Quote:
I tried compiling without external-fuse, but this time I got an even bigger version mismatch:

This is correct, the internal fuse library traditionally negotiates protocol 7.12 with the kernel. However the fuse kernel also gives up immediately.

The version 2014.2.15AR.3 of ntfs-3g (and only this version) would negotiate protocol 7.18, you might give it a try, see http://www.tuxera.com/community/ntfs-3g ... /#download However, as the behavior is the same with the internal and the internal fuse library, the problem most likely lies in the fuse kernel, and you probably need to switch to another kernel version (or reinstall the same one, as you mentioned your latest install behaved oddly).

Regards

Jean-Pierre


Fri Jan 09, 2015 20:58
Profile

Joined: Fri Jan 09, 2015 01:26
Posts: 7
Post Re: version 2013.1.13 mount fails on gentoo
Ok, then it sounds like I need to try different kernels, or as you said, rebuild the current one.

FYI I am at the latest fuse library version 2.9.3.

And regarding the bug report you previously linked, it was reported from a much newer kernel than mine (3.13.4). So maybe indeed I am behind.


Fri Jan 09, 2015 21:14
Profile

Joined: Fri Jan 09, 2015 01:26
Posts: 7
Post Re: version 2013.1.13 mount fails on gentoo
Hi,

jpa wrote:
The version mismatch is not wrong. The kernel part of fuse and the library part negotiate an agreement on a protocol version they both support. But in your situation the kernel part gives up immediately after the negotiation.

I wonder why I don't see an error message anywhere. :(

jpa wrote:
The version 2014.2.15AR.3 of ntfs-3g (and only this version) would negotiate protocol 7.18, you might give it a try, see http://www.tuxera.com/community/ntfs-3g ... /#download However, as the behavior is the same with the internal and the internal fuse library, the problem most likely lies in the fuse kernel, and you probably need to switch to another kernel version (or reinstall the same one, as you mentioned your latest install behaved oddly).


Ok, I upgraded my kernel to 3.17.2 and used the latest ntfs-3g version, and this is what's available in gentoo:
Code:
# eix ntfs3g
[I] sys-fs/ntfs3g                                                                                                                                                               
     Available versions:  2013.1.13 (~)2014.2.15 {acl debug +external-fuse ntfsdecrypt +ntfsprogs static-libs suid xattr}                                                       
     Installed versions:  2014.2.15(05:06:22 PM 01/09/2015)(acl external-fuse ntfsprogs suid -debug -ntfsdecrypt -static-libs -xattr)                                           
     Homepage:            http://www.tuxera.com/community/ntfs-3g-download/                                                                                                     
     Description:         Open source read-write NTFS driver that runs under FUSE   


I'm not sure this is AR.3 since it's still showing protocol 7.19 in the debug output (with external FUSE):
Code:
FUSE library version: 2.9.3
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
Version 2014.2.15 external FUSE 29
Mounted /dev/mapper/nvidia_ceebaiib2 (Read-Write, label "", NTFS 3.1)
Cmdline options: rw,debug
Mount options: rw,allow_other,nonempty,relatime,fsname=/dev/mapper/nvidia_ceebaiib2,blkdev,blksize=4096
Ownership and permissions disabled, configuration type 7
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.23
flags=0x0003f7fb
max_readahead=0x00020000
   INIT: 7.19
   flags=0x00000051
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 1, success, outsize: 40
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 16760
getattr /
   unique: 2, success, outsize: 120
unique: 3, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 16760
getattr /
   unique: 3, success, outsize: 120
unique: 4, opcode: FORGET (2), nodeid: 1, insize: 48, pid: 0
FORGET 1/1
unique: 5, opcode: DESTROY (38), nodeid: 0, insize: 40, pid: 0
Unmounting /dev/mapper/nvidia_ceebaiib2 ()
   unique: 5, success, outsize: 16


And this is with the internal FUSE:
Code:
Version 2014.2.15 integrated FUSE 28
Mounted /dev/mapper/nvidia_ceebaiib2 (Read-Write, label "", NTFS 3.1)
Cmdline options: rw,debug
Mount options: rw,allow_other,nonempty,relatime,fsname=/dev/mapper/nvidia_ceebaiib2,blkdev,blksize=4096
Ownership and permissions disabled, configuration type 7
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56
INIT: 7.23
flags=0x0003f7fb
max_readahead=0x00020000
   INIT: 7.12
   flags=0x00000041
   max_readahead=0x00020000
   max_write=0x00020000
   unique: 1, error: 0 (Success), outsize: 40
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56
   unique: 2, error: 0 (Success), outsize: 120
unique: 3, opcode: GETATTR (3), nodeid: 1, insize: 56
   unique: 3, error: 0 (Success), outsize: 120
unique: 4, opcode: FORGET (2), nodeid: 1, insize: 48
FORGET 1/1
unique: 5, opcode: DESTROY (38), nodeid: 0, insize: 40
Unmounting /dev/mapper/nvidia_ceebaiib2 ()
   unique: 5, error: 0 (Success), outsize: 16


Since you said there is a problem with the kernel fuse and userspace librarsy negotiation, I went back to older kernels I have had installed. Both 3.11 and 3.10 had FUSE protocol 7.22, which still didn't work. Kernel 3.2 gave a different error: fuse operation not permitted. I assume that was simply too old.

Do you think downloading and compiling from the link you gave would make a difference? Any other suggestions?

Thanks,
Cengiz


Sat Jan 10, 2015 00:28
Profile

Joined: Fri Jan 09, 2015 01:26
Posts: 7
Post Re: version 2013.1.13 mount fails on gentoo
Nevermind! I found the problem. :evil:

It would not mount to /mnt/tv, but it will to /mnt/tmp.

I have no clue why. I deleted the entry with tv from fstab, but it still happens. I opened another directory with two letters ("aa") and that works too. The only one that consistently fails is "tv". It has the same permission as the other /mnt directories. Deleting and re-creating didn't change anything.

Here's the debug output for the mount:
Code:
# mount -t ntfs-3g -o debug /dev/mapper/nvidia_ceebaiib2 /mnt/tv2
FUSE library version: 2.9.3
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
Version 2014.2.15 external FUSE 29
Mounted /dev/mapper/nvidia_ceebaiib2 (Read-Write, label "", NTFS 3.1)
Cmdline options: rw,debug
Mount options: rw,allow_other,nonempty,relatime,fsname=/dev/mapper/nvidia_ceebaiib2,blkdev,blksize=4096
Ownership and permissions disabled, configuration type 7
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.23
flags=0x0003f7fb
max_readahead=0x00020000
   INIT: 7.19
   flags=0x00000051
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 1, success, outsize: 40


Anyway, thanks for helping. I assume there is nothing to learn from this?

Best,
Cengiz


Sat Jan 10, 2015 00:52
Profile
NTFS-3G Lead Developer

Joined: Tue Sep 04, 2007 17:22
Posts: 1286
Post Re: version 2013.1.13 mount fails on gentoo
Hi,


Quote:
I'm not sure this is AR.3 since it's still showing protocol 7.19 in the debug output (with external FUSE):

It is a reliable version, but it is not AR.3. The protocol negotiation is done by the fuse library, and when you use the external one, it is unrelated to ntfs-3g.
Quote:
Nevermind! I found the problem.

Good news !
Quote:
It would not mount to /mnt/tv, but it will to /mnt/tmp.

Glad you reported it. I never saw such a thing.
Quote:
I assume there is nothing to learn from this?

Yes, there is : mind the mount point !

Regards

Jean-Pierre


Sat Jan 10, 2015 09:34
Profile

Joined: Fri Jan 09, 2015 01:26
Posts: 7
Post Re: version 2013.1.13 mount fails on gentoo
jpa wrote:
Quote:
I assume there is nothing to learn from this?

Yes, there is : mind the mount point !


:) Actually I went further and figured out that the reason is systemd. I was composing a reply yesterday, but apparently I forgot to submit. The hint was the first thing I submitted in the OP:
Code:
#  journalctl -r
Jan 08 22:55:56 *** systemd[1]: Unmounted /mnt/tv.
Jan 08 22:55:56 *** systemd[1]: Unmounting /mnt/tv...
Jan 08 22:55:56 *** systemd[1]: Unit mnt-tv.mount is bound to inactive service. Stopping, too.

Even though I changed fstab, the rules systemd *generated* at boot time were still active. So it thought it was an "inactive" service. :x

These were mount points that depended on a Nvidia fake-raid disk (/dev/mapper/nvidia_ceebaiib2) that are not automatically supported by systemd. So the saga continues for me, but I'll probably take it off your plate ;)

Thanks again..


Sat Jan 10, 2015 18:19
Profile
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Original forum style by Vjacheslav Trushkin.