Bug 873277

Summary: udisks2 can't mount ext4 partition with "acl,user_xattr"
Product: [Fedora] Fedora Reporter: Martin Wilck <martin.wilck>
Component: udisks2Assignee: David Zeuthen <davidz>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: davidz, mclasen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-11-06 13:23:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Martin Wilck 2012-11-05 13:40:18 UTC
Description of problem:
I have an ext4-formatted USB disk that I'm using for backup purposes. It's essential for the backup that ACLs and user extended attributes are supported on this filesystem.

Version-Release number of selected component (if applicable):
udisks2-1.94.0-10.fc17.x86_64

(but the same problem is still in the upstream version of udisks2)

How reproducible:
always

Steps to Reproduce:
1. plug in ext4-formatted USB disk/stick
  
Actual results:
disk is mounted without "acl,user_xattr". trying to remount with these options with udisksctl fails:

udisksctl mount -b /dev/sdc1 -o user_xattr,acl
Error mounting /dev/sdc1: GDBus.Error:org.freedesktop.UDisks2.Error.OptionNotPermitted: Mount option `user_xattr' is not allowed

Expected results:
disk is mounted with "acl,user_xattr", or at least it's possible to do so

Additional info:
udisks2 doesn't seem to have support for any file systems except VFAT, NTFS, ISO9660, and UDF. It's hard to believe that a tool that's intended to become a standard for the Linux desktop doesn't support any native Linux file system.

Comment 1 Martin Wilck 2012-11-05 13:59:16 UTC
Just discovered that using the GNOME "Disks" utility, it's possible to add the mount options "acl,user_xattr" in /etc/fstab - but when the FS is mounted, these options won't be used (silently - there's no error message about forbidden mount options in this case).

Comment 2 David Zeuthen 2012-11-05 16:06:01 UTC
> It's hard to believe that a tool that's intended to become a standard for
> the Linux desktop doesn't support any native Linux file system

GNOME Disks / udisks2 does support any random filesystem you throw at it. For security-reasons, it just won't accept any random mount option.

As you found out in comment 1, the way it's supposed to work is that if you want non-standard mount options for a device, you simply just add an entry to /etc/fstab for the device in question. That's really all there is to it.

If that's not working then it's not really a udisks2 bug - all that udisksd does is run "mount /dev/sdc1".

> but when the FS is mounted, these options won't be used (silently -
> there's no error message about forbidden mount options in this case).

Care to post the output of

 # mount /dev/sdc1
 # cat /proc/self/mountinfo |grep sdc1

and then (after unmounting the device)

 # udisksctl mount -b /dev/sdc1
 # cat /proc/self/mountinfo |grep sdc1

Comment 3 David Zeuthen 2012-11-05 16:07:09 UTC
Also, obviously, please also include the relevant line of /etc/fstab. Thanks!

Comment 4 Martin Wilck 2012-11-06 13:23:20 UTC
Sorry, I was confused by the fact that "acl,user_xattr" is apparently now the default and thus not explicitly printed (any more?) by the kernel in /proc/self/mountinfo.

I'm closing this bug. 

Nevertheless it's remarkable that you refer to ext4 as "any random file system you throw at it".

There are lots of ext2/3/4 specific mount options listed in mount(8), and none of them is supported by udisks2. Sure, some of them should be avoided "for security reasons" or in light of the recent "ext4 kernel bug" discussions. But not all.

Comment 5 David Zeuthen 2012-11-06 14:59:58 UTC
(In reply to comment #4)
> Nevertheless it's remarkable that you refer to ext4 as "any random file
> system you throw at it".

There is absolutely no need for such sensational language - especially if you do not understand why udisks2 works the way it does and haven't even bothered to read the documentation. Good luck.

Comment 6 Martin Wilck 2012-11-07 12:50:52 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > Nevertheless it's remarkable that you refer to ext4 as "any random file
> > system you throw at it".
> There is absolutely no need for such sensational language - especially if

David, that was your own language. I only added the words "Nevertheless it's remarkable that you refer to ext4 as". Not being a native English speaker, that sounded like pretty plain language to me. I apologize if it sounded offensive to you.

> you do not understand why udisks2 works the way it does and haven't even
> bothered to read the documentation. Good luck.

I did bother. I read the available man pages and searched the web. I even read parts of the udisks2 source code. I didn't find any documentation "how udisk2 works" - there were the pretty terse man pages, and there was the API documentation and the source code. Nothing in between. Your Blog post explaining the ideas behind udisks2 (http://davidz25.blogspot.de/2012/03/simpler-faster-better.html) is unfortunately not among the top Google results for "udisks2". I found it only after I had already written this BZ, ironically from a link on a web page which is critical about udisks2.

I usually try to understand exactly what's going wrong before I file a bug. Feel free to search bugzilla for my name if you want to verify that. This time I failed, and I apologize for having wasted your time.