[Gluster-devel] Improvements in Quota Translator
Anand Avati
aavati at redhat.com
Wed Apr 10 22:44:45 UTC 2013
On Apr 10, 2013, at 2:50 PM, Brian Foster <bfoster at redhat.com> wrote:
> On 04/10/2013 03:06 PM, Anand Avati wrote:
>>
>> On Apr 10, 2013, at 6:10 AM, Jeff Darcy <jdarcy at redhat.com> 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.
I suppose this would be a problem if we set a quota limit on the volume top level, as .glusterfs is a subdirectory of the export directory?
Avati
More information about the Gluster-devel
mailing list