Re: ext4 inode tagging

Herbert Poetzl <[email protected]>
Newsgroups gmane.linux.vserver
Message-ID <[email protected]>
On Sun, Jan 15, 2012 at 12:29:36AM +0100, Roberto Puzzanghera wrote:
> On 01/14/2012 11:14 AM, Herbert Poetzl wrote:
>> On Sat, Jan 14, 2012 at 09:47:19AM +0100, Roberto Puzzanghera wrote:
>>> On 01/14/2012 12:48 AM, Herbert Poetzl wrote:
>>>> On Fri, Jan 13, 2012 at 07:26:13PM +0100, Roberto Puzzanghera wrote:
>>>>> On 01/13/2012 06:02 PM, Herbert Poetzl wrote:
>>>>>> On Fri, Jan 13, 2012 at 05:10:46PM +0100, Roberto Puzzanghera wrote:
>>>>>>> [...]

>>>>>>>> no, I don't think that will be necessary, but
>>>>>>>> could you run the following script on your system
>>>>>>>> and provide upload the output somewhere/

>>>>>>>>  # mkdir /test
>>>>>>>>  # testfs.sh -vvv -x -F ext4 -M /test -D<device>

>>>>>>>> note that<device>     should be a partition, disk or
>>>>>>>> loopback device you do not mind to be reformatted
>>>>>>>> with ext4 (all data will be destroyed)

>>>>>>>> you can simply create one with:
>>>>>>>>  # dd if=/dev/zero of=/path/to/somewhere bs=1M count=1024
>>>>>>>>  # losetup /dev/loop0 /path/to/somewhere

>>>>>>>> also, no problem to use /mnt or /media/test instead
>>>>>>>> of just /test (i.e. it doesn't matter as long as
>>>>>>>> you specify the path in -M<path>)

>>>>>>>> the test script can be found here:
>>>>>>>> http://vserver.13thfloor.at/Stuff/SCRIPT/testfs.sh

>>>>> # dd if=/dev/zero of=/mnt/testfs bs=1M count=1024
>>>>> # losetup /dev/loop0 /mnt/testfs
>>>>> # mount -t ext4 /dev/loop0 /mnt/tmp/
>>>>> # testfs.sh -vvv -x -F ext4 -M /mnt/tmp/ -D /dev/loop0

>>>> do not mount any filesystem on /mnt/tmp and do not
>>>> mount or busy /dev/loop0 in any way, filesystem
>>>> creation and mounting will be done by testfs.sh

>>> The output follows

>>> best regards
>>> Roberto Puzzanghera


>>> # dd if=/dev/zero of=/usr/local/testfs bs=1M count=1024
>>> # losetup /dev/loop0 /usr/local/testfs
>>> # ./testfs.sh -vvv -x -F ext4 -M /mnt -D /dev/loop0
>>> Linux-VServer FS Test [V0.23] Copyright (C) 2005-2009 H.Poetzl
>>> Linux 3.1.4-vs2.3.2.1-smp x86_64/0.30.216
>>> VCI:  0002:0308 236 13000f11 (ID24)
>>> ---
>>> testing ext4 filesystem ...
>>> mke2fs 1.41.14 (22-Dec-2010)
>>> Filesystem label=
>>> OS type: Linux
>>> Block size=4096 (log=2)
>>> Fragment size=4096 (log=2)
>>> Stride=0 blocks, Stripe width=0 blocks
>>> 65536 inodes, 262144 blocks
>>> 13107 blocks (5.00%) reserved for the super user
>>> First data block=0
>>> Maximum filesystem blocks=268435456
>>> 8 block groups
>>> 32768 blocks per group, 32768 fragments per group
>>> 8192 inodes per group
>>> Superblock backups stored on blocks:
>>>         32768, 98304, 163840, 229376

>>> Writing inode tables: done
>>> Creating journal (8192 blocks): done
>>> Writing superblocks and filesystem accounting information: done

>>> This filesystem will be automatically checked every 24 mounts or
>>> 180 days, whichever comes first.  Use tune2fs -c or -i to override.
>>> [000]# succeeded.
>>>         mount -t ext4 -o rw /dev/loop0 /mnt 3>&2
>>> [001]# succeeded.
>>>         mount -o remount,rw,tag /mnt 3>&2
>>> mount: /mnt not mounted already, or bad option
>>> [002]# succeeded.
>>> tag related tests ...
>>>         mount -t ext4 -o rw,tag /dev/loop0 /mnt 3>&2
>>> [011]# succeeded.
>>>         do_tag_touch /mnt 0 1 255 256 666
>>>         touch /mnt/file_1: 0
>>>         vtag --migrate --tag 0 -- touch /mnt/file_1
>>>         touch /mnt/file_2: 1
>>>         vtag --migrate --tag 1 -- touch /mnt/file_2
>>>         touch /mnt/file_3: 255
>>>         vtag --migrate --tag 255 -- touch /mnt/file_3
>>>         touch /mnt/file_4: 256
>>>         vtag --migrate --tag 256 -- touch /mnt/file_4
>>>         touch /mnt/file_5: 666
>>>         vtag --migrate --tag 666 -- touch /mnt/file_5
>>> [012]# succeeded.
>>>         do_tag_verify /mnt 0 1 255 256 666
>>>         verify /mnt/file_1: 0 = 0
>>>         verify /mnt/file_2: 1 = 1
>>>         verify /mnt/file_3: 255 = 255
>>>         verify /mnt/file_4: 256 = 256
>>>         verify /mnt/file_5: 666 = 666
>>> [014]# succeeded.

>> this shows that tagging on ext4 works perfectly fine,
>> please verify (with 'cat /proc/mounts' on the host)
>> that your filesystem is indeed mounted with the 'tag'
>> option when you try to do tagging related operations

>> note: it was observed that, for yet unknown reasons,
>> sometimes the 'tag' option isn't used/recognized
>> despite the fact that it is present in host/guest
>> fstab ...

> I don't what I have missed before, but after rebooting the
> machine everything works perfectly: tagging, disk limits.

> I apologize for the noise in the list, at least I hope that my
> tests have shown that inode tagging is working with ext4 in the
> latest 3.1.4-vs2.3.2.1 kernel.

not convinced that it was just noise, but let's see
what we find out in the near future ...

thanks,
Herbert

> Best regards
> Roberto Puzzanghera


>> HTH,
>> Herbert
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.