[Samba] Re: quota on xfs on lvm doesn't work(?)

James Peach jorgar at gmail.com
Mon Apr 24 04:47:48 GMT 2006


On 4/21/06, Christoph Peus <cp at peus.net> wrote:
> Sorry for the double posting.
>
> > munmap(0xb7998000, 4096)                = 0
> > quotactl(Q_XGETQUOTA|GRPQUOTA, "/dev/export/lvol0", 4000, 0xbfdab390) =
> > -1 EACCES (Permission denied)
>
> Perhaps I should add this:
>
> testdc ~ # ls -al /dev/export/lvol0
> lrwxrwxrwx  1 root root 24 Apr 21  2006 /dev/export/lvol0 -> /dev/mapper/export-lvol0
> testdc ~ # ls -al /dev/mapper/export-lvol0
> brw-rw-rw-  1 root disk 254, 0 Apr 21  2006 /dev/mapper/export-lvol0
> ^^^^^^^^^^
> This was originally 600...

So, you are right .. WXFS quotas are independent of the underlying block
device. You also correctly anticipated that I'd ask what the device
permissions are, and they look fine, though I would have expected
brw-r--r--.

There's a couple of more obvious ways that trying to get quota information
can fail.

The first is in the XFS check. This requires either that the caller be
root or that either

    1. the caller is checking a user quota and the caller's effective
       UID is the same as the UID for the user quota of interest

    or 2. the caller is interested in a group quota and is a member of
	  of the group of interest

Now, I would expect that if this check failed on the on a LVM device,
it would also fail on a regular block device, given that the samba
configuration is consistent. You can test this by adding "debug pid =
yes" to smb.conf and checking the log messages to see whether smbd would
pass the above checks.

The other early check is done by the selinux code. This checks the
"quotaget" capability (is this the right terminology?). I think this is
more interesting, because I'm guessing that selinux could be configured
to allow quotaget on one block device but not on another ...

Am I on the right track?

--
James Peach | jorgar at gmail.com


More information about the samba mailing list