On 11/10 2013 15:39 PM, Tiziano Müller wrote: > 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). This definitely would fail if you trying to create hard links across volumes. > > 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 symlink files will be skipped and xfs_quota consider it as special file just like fifo, sock, etc... If xfs_quota do check with follow symlinks, then the project id is potentially applied to files on another filesystem. > > 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? Sorry if I misunderstood your question, but the existing hard link files would notbe skipped IMO. For the project subcommand, it means we could not create hardlinks cross different project trees. Thanks, -Jeff _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs