Subject: Re: [vserver] ext4 inode tagging
From: Roberto Puzzanghera <admin@sagredo.eu>
Date: Wed, 18 Jan 2012 21:52:45 +0100


>> as Herbert pointed out, the tagging is not recognized during
>> the mounting.
>
>> I don't have ideas on the purpose, and google searching
>> produced anything, anyway tonight, during users' sleep time,
>> I will try again.
>
>> Also I would like to know if the failed tag option recognition
>> is an issue which just comes with ext4, or is an issue related
>> to linux-vserver and ext4.
>
> well, as the 'tag' option is Linux-VServer specific, it
> naturally won't happen on a vanilla kernel (as there
> simply is no such option in vanilla)
>
> but I don't think the issue is ext4 related (from the
> kernel PoV), otherwise the testfs script would have
> failed, as far as my guessing goes there are a bunch
> of options:
>
>   - the mount utility (for ext4) does mangle the options
>     somehow, and the 'tag' is not passed to the kernel
>     (most likely, would explain why ext3 works)
>
>   - the scripts doing the mount clean up the arguments
>     (on accident or purpose) and thus remove the 'tag'
>     option before it can be passed to the kernel
>
>   - the mount is done in several steps and/or involves
>     several remounts, which somehow 'lose' the tag on
>     the way ...
>
> not sure how to pinpoint this though, but if it cannot
> be tracked down by analyzing the scripts/sources, we
> could add some kernel debug messages to print the
> mount/remount/unmount requests ...


I'm doing some tests with the 'tag,notagcheck' options as kindly 
suggested by Daniel and Art.

I observed that the '-o tag,notagcheck' is *always* recognised with ext4 
if I put them at the beginning of the mount option

For example:

# mount -o 
tag,notagcheck,data=ordered,rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfm
t=vfsv0 /dev/sda3 /usr/local
# cat /proc/mounts /dev/sda3
/usr/local ext4 
rw,tag,notagcheck,relatime,user_xattr,barrier=1,data=ordered 0 0

The tag was recognized, but the usr/grp quota was lost :(

And if try to put 'tag' at the end then it is *never* recognized

# mount -o 
data=ordered,rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,tag,notagcheck

/dev/sda3 /usr/local/
root@sagredo:/etc# cat /proc/mounts
/dev/sda3 /usr/local ext4 
rw,notagcheck,relatime,user_xattr,barrier=1,data=ordered 0 0

And also in this case I lose the usr/grp quota support.

I repeted the tests above many times, and I'm quite sure that this is a 
reproducible situation.

I hope this could be of any help.

Best regards
Roberto Puzzanghera