On 04/10/2013 03:06 PM, Anand Avati wrote: > > On Apr 10, 2013, at 6:10 AM, Jeff Darcy <jdarcy@xxxxxxxxxx> wrote: >>> Since XFS doesn't allow hard links across directory tree quota >>> boundaries - we get EXDEV, it would prevent gluster from creation >>> ".glusterfs" directory entries. So Gluster quota does both accounting >>> and enforcing of quota. >> >> Well, that's certainly an unfortunate consequence of using links instead >> of a log to track dirty files. :( One more reason to undo that damage, >> I suppose, but that's a different thread. > > The problem here is with the gfid hard links (for providing stable file handles). Index uses hard links from an internal backing file which is also created within .glusterfs - the actual dirty files are never linked into index. While we do want to make index use a different format, it is completely unrelated (in fact not a problem at all) to the XFS quota issue - which is linking of true files into .glusterfs for providing stable file handles. > I went looking into this behavior because I don't recall running into it before. I can reproduce EXDEV if I try link from project quota A to project quota B but it looks like this only enforced when the target directory has project quota inheritance enabled (to prevent writing a file somewhere and linking it into a directory under quota, XFS enforces that the project quota IDs must match). I can create a file under a project quota and link it out of the project quota subtree without an error. So you could create a file under a project quota and link it under .glusterfs, but not vice versa and not into another directory covered by a project quota. Brian > Avati > _______________________________________________ > Gluster-devel mailing list > Gluster-devel@xxxxxxxxxx > https://lists.nongnu.org/mailman/listinfo/gluster-devel >