xfs
[Top] [All Lists]

Setting project quotas on special files

To: xfs@xxxxxxxxxxx
Subject: Setting project quotas on special files
From: Tiziano Müller <tiziano.mueller@xxxxxxxxxxxxxxxxx>
Date: Sun, 10 Nov 2013 08:39:48 +0100
Delivered-to: xfs@xxxxxxxxxxx
Organization: stepping stone GmbH
Reply-to: tiziano.mueller@xxxxxxxxxxxxxxxxx
Hi everyone

It started with the following error:

   dev # cp -al dvd dvd2
   cp: cannot create hard link âdvd2â to âdvdâ: Invalid cross-device link

"dvd" is in this case a symlink (but I also did the test with special
devices).

What I did was: copy that symlink from somewhere else, trying to turn on
project quotas on a parent directoy of that "dev" directory which gives
me:

  xfs_quota: skipping special file /var/foo/dev/dvd

When I examine the inode using xfs_db I get for my "dvd" symlink:

  core.projid_lo = 0
  core.projid_hi = 0

When I create a new symlink "foo" (with the same uid+gid as "dvd") and
examine it's inode using xfs_db:

  core.projid_lo = 2398
  core.projid_hi = 61

What I therefore seem to encounter is the problem mentioned in xfs_quota
for the project subcommand:

  An attempt to create a hard link to a file in the tree will only succeed if 
the project identiâ
       fier matches the project identifier for the tree.

I could now use xfs_io to fix all special files once (since newly
created ones will carry the project id directly), but why does
"xfs_quota -x -c 'project -s test1' /var" skip special files if it is
clearly possible and required to set the project id on them to have
hardlinks working again within the project dir?

Thanks in advance,
best regards,
Tiziano

-- 
stepping stone GmbH
Neufeldstrasse 9
CH-3012 Bern
Telefon: +41 31 332 53 63
www.stepping-stone.ch
tiziano.mueller@xxxxxxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>