lustre-devel-lustre.org archive mirror
 help / color / mirror / Atom feed
From: Cheremencev, Sergey <sergey.cheremencev@hpe.com>
To: lustre-devel@lists.lustre.org
Subject: [lustre-devel] lfs usage with OST pool quota flags
Date: Fri, 18 Sep 2020 19:17:32 +0000	[thread overview]
Message-ID: <60AAD02C-7000-4364-9140-94950557B3E0@hpe.com> (raw)
In-Reply-To: <108068A0-8A57-481F-BC8B-F9F913DC3428@hpe.com>

Hello, Gian-Carlo DeFazio.

?The struct lquota_entry (lqe) now has 2 edquot flags,  lqe_edquot and lge_edquot.
Does lqe_edquot still represent the QMT?s current knowledge about whether or not
an entity has exceeded a quota for the pool associated with the lqe, or do the
lge_edquot flags need to be checked as well to make this determination??

I think you shouldn?t care about this if you write something for usermode utils.
But if you are interesting In details I would try to explain. Each id(user/group/project) is still described by lqe.
lqe that describes all data targets in a system is called ?global lqe?. This lqe has a pointer to array of entries that describe each OST state(lqeg_arr).
So now we can have different edquot(lge_edquot) for each target. In a system without pools all lge_edquot in array are always equal and also equal with lqe->lqe_edquot.
Each Pool Quotas has its own lqe per id. Pool Quotas lqes don?t have pointer to lqe_global_array. These lqes represent state (edquot, qunit, limits) only OSTs from the pool.
So, each id has one global lqe and one lqe per pool where it has quota limits.
When QMT get quota acquire request from an OST, it finds global lqe and ?pool? lqes(only pools that include this OST). It goes through these lqes to decide if edquot or new qunit should be set.
If yes, it also reseeds lqeg_array.

?There is now a ?pool option. Can this flag be used in conjunction with the default value flags (-U|-G|-P)??
default Pool Quotas feature is under review - https://review.whamcloud.com/#/c/39873/ (LU-13952).

If your code will interact with pool quotas, please add me as reviewer.

Thanks,
Sergey
From: "Spitz, Cory James" <cory.spitz@hpe.com>
Date: Friday, September 18, 2020 at 12:58 AM
To: "Defazio, Gian-Carlo" <defazio1@llnl.gov>, "lustre-devel at lists.lustre.org" <lustre-devel@lists.lustre.org>, "Cheremencev, Sergey" <sergey.cheremencev@hpe.com>
Subject: Re: [lustre-devel] lfs usage with OST pool quota flags

Hello, Gian-Carlo DeFazio.

Sergey Chermencev is the developer who implemented OST Pool Quotas.  I?ve copied him so that he may answer your questions in more detail.  For now, I can say that you can use the following as resources:

https://opensfs.org/wp-content/uploads/2019/07/LUG2019-Introducing_Pool_Quotas-Spitz.pdf
https://vimeo.com/showcase/6042401/video/342817244

And yes, you can use the --pool option in conjunction with the default value flags.  See slide 11 from the referenced pdf as an example.

> Is that already happening? I see that there?s LUDOC-467 to add OST pool quotas to the manual
Yes, https://review.whamcloud.com/#/c/38414 is for it, but it hasn?t landed yet.

-Cory


On 8/31/20, 1:29 PM, "lustre-devel on behalf of Defazio, Gian-Carlo" <lustre-devel-bounces at lists.lustre.org<mailto:lustre-devel-bounces@lists.lustre.org> on behalf of defazio1 at llnl.gov<mailto:defazio1@llnl.gov>> wrote:

I?m planning to add a feature to lfs-quota (a relatively quick check for EDQUOT)
and I have some questions about how the new OST pool quota feature will change things
with regards to how the quota system works internally and how the lfs-quota options will change.

For how the system actually works internally:
The struct lquota_entry (lqe) now has 2 edquot flags,  lqe_edquot and lge_edquot.
Does lqe_edquot still represent the QMT?s current knowledge about whether or not
an entity has exceeded a quota for the pool associated with the lqe, or do the
lge_edquot flags need to be checked as well to make this determination?

For how lfs-quota works:
There is now a ?pool option. Can this flag be used in conjunction with the default value flags
(-U|-G|-P)? Such as
lfs quota -U ?pool qpool1 /mnt/lustre
To check the default user quota values for OST pool qpool1?

I?ll need to update lfs-quota.1, lfs-setquota.1, and the lfs.c help section for my feature, but since
the flag I add will have to interact with the ?pool flag in some cases, I also need to update those files
for the OST pool quotas. Is that already happening? I see that there?s LUDOC-467 to add OST pool quotas to the manual.

Thanks,
Gian-Carlo DeFazio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20200918/74b4acab/attachment.html>

  reply	other threads:[~2020-09-18 19:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-17 21:58 [lustre-devel] lfs usage with OST pool quota flags Spitz, Cory James
2020-09-18 19:17 ` Cheremencev, Sergey [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-08-31 18:28 Defazio, Gian-Carlo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=60AAD02C-7000-4364-9140-94950557B3E0@hpe.com \
    --to=sergey.cheremencev@hpe.com \
    --cc=lustre-devel@lists.lustre.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).