On Mon, Nov 17, 2014 at 8:19 PM, Fred Liu <[email protected]> wrote:

> It looks I have typo in following:
>
> /*
>
> All of these (used, usedby*, refer, quota, refquota) include metadata
> (e.g. indirect blocks).
>
> [Fred]: So “quota” overrides “refquota” as in my case? Otherwise the logic
> should be {“used” < “referenced” < “refquota”} per this reply.
>
> */
>
> The one I want to state is { “*usedbydataset*” <= “referenced” <=
> “refquota” }.
>

Yes, I think that's right.


>
> But there are still some unclear points for me here:
>
> 1): To enable file removing, my hacking is "$new_refquota = $usedbydataset
> + 1". After this, we can remove files.
>     But it looks like a coincidence. The nitty-gritty is the bug 4950.
> Right?
>
> 2): refquota doesn't account usedbysnapshot. Right?
>

Correct.


>
> 3): In which condition, ["usedbydataset" != "referenced”] is true?
> (assuming no descendent file systems and snapshots)
>

If the dataset is a clone, its "usedbydataset" does not include any space
shared with the origin (because this space will not be recovered if the
dataset is destroyed), but "referenced" does.

--matt


>
>
> Thanks.
>
> Fred
>
>
>
>
> From: Fred Liu
> Sent: 星期一, 十一月 17, 2014 19:41
> To: 'Matthew Ahrens'
> Cc: [email protected]; [email protected]
> Subject: RE: [OpenZFS Developer] usedbydataset > refquota ?
>
> Matt,
>
> Thank you so much! ^--^.
>
> See my comment below.
>
>
> Fred
>
> From: Matthew Ahrens [mailto:[email protected]]
> Sent: 星期一, 十一月 17, 2014 15:52
> To: Fred Liu
> Cc: [email protected]; [email protected]
> Subject: Re: [OpenZFS Developer] usedbydataset > refquota ?
>
>
>
> On Sun, Nov 16, 2014 at 10:46 PM, Fred Liu <[email protected]> wrote:
> We just met the case that usedbydataset  is bigger than refquota. It
> prevents users from removing files while the file system is full.
>
> Do you have the fix for bug 4950?
>
> commit 4bb73804952172060c9efb163b89c17f56804fe8
> Author: Matthew Ahrens <[email protected]>
> Date:   Mon Jul 7 11:49:36 2014 -0800
>
>     4950 files sometimes can't be removed from a full filesystem
>     Reviewed by: Adam Leventhal <[email protected]>
>     Reviewed by: George Wilson <[email protected]>
>     Reviewed by: Sebastien Roy <[email protected]>
>     Reviewed by: Boris Protopopov <[email protected]>
>     Approved by: Dan McDonald <[email protected]>
>
> [Fred]:  Oh, the OS is a fairly old OpenSolaris 134b. I will check and
> test.
> I  guess it could come from quota setting(we set both quota and refquota)..
> Normally we have the equation -- “usedbydataset” = “userdata” + “metadata”.
> Will refquota also constraint metadata?
>
> All of these (used, usedby*, refer, quota, refquota) include metadata
> (e.g. indirect blocks).
>
> [Fred]: So “quota” overrides “refquota” as in my case? Otherwise the logic
> should be {“used” < “referenced” < “refquota”} per this reply.
>
> In this case, usedbydataset  is only 98107 bigger than refquota(zfs get
> –Hp …).
>
> FYI, the "refquota" property constrains the "referenced" property.
>
> [Fred]: Ha! That is the place where this tiny delta resides.
>
> --matt
>
> It is really trivial if we don’t feed “-Hp”.
>        zfs get quota,refquota,usedbysnapshots,usedbydataset,used
> cn03/3/is8169am
>       NAME             PROPERTY         VALUE     SOURCE
>      cn03/3/is8169am  quota            55G       local
>      cn03/3/is8169am  refquota         50G       local
>      cn03/3/is8169am  usedbysnapshots  3.24G     -
>      cn03/3/is8169am  usedbydataset    50.0G     -
>      cn03/3/is8169am  used             53.2G     -
>
> For metadata is variable, I think it should not be accounted in refquota.
> Correct?
>
>
> Thanks.
>
> Fred
>
> _______________________________________________
> developer mailing list
> [email protected]
> http://lists.open-zfs.org/mailman/listinfo/developer
>
>
_______________________________________________
developer mailing list
[email protected]
http://lists.open-zfs.org/mailman/listinfo/developer

Reply via email to