[gpfsug-discuss] question on fileset / quotas

valdis.kletnieks at vt.edu valdis.kletnieks at vt.edu
Sat Feb 9 04:02:49 GMT 2019

On Fri, 08 Feb 2019 17:42:13 -0800, Imam Toufique said:
> Is there a way to setup an independent fileset so that it's dependent
> filesets cannot exceed its quota limit? Another words, if my independent
> fileset quota is 2GB, I should not be allowed to set quotas for it's
> dependent filesets more then 2GB  ( for the dependent filesets created in
> aggregate ) ?

Well.. to set the quota on the dependent fileset, you have to be root. And the
general Unix/Linux philosophy is to not prevent the root user from doing things
unless there's a good technical reason(*).  

There's a lot of "here be dragons" corner cases - for instance, if I create
/gpfs/parent and give it 10T of space, does that mean that *each* dependent
fileset is limited to 10T, or the *sum* has to remain under 10T? (In other
words, is overcommit allowed?). There's other problems, like "Give the parent
8T, give two children 4T each, let each one store 3T, and then reduce the
parent quota to 2T" - what should happen then?  And quite frankly, the fact that
mmrepquota has an entire column of output for "uncertain" when only dealing
with *one* fileset tells me there's not sane way to avoid race conditions when
dealing with two filesets without some truly performance-ruining levels of
filesystem locking.

So I'd say that probably, it's more reasonable to do this outside GPFS -
anything from telling everybody who knows the root password not to do it, to
teaching whatever automation/provisioning system you have (Ansible,  etc) to
enforce it.

Having said that, if you can nail down the semantics and then make a good
business case that it should be done inside of GPFS rather than at the sysadmin
level, I'm sure IBM would be willing to at least listen to an RFE....

(*) I remember one Unix variant (Gould's UTX/32) that was perfectly willing to
let C code running as root do an unlink(".") rather than return EISDIR even
though it meant you just bought yourself a shiny new fsck - don't ask how I
found out :)

More information about the gpfsug-discuss mailing list