In MooseFS you can set up "project" quotas (e.g. homedir or sth).
man mfssetquota
:
Quota is set on a directory. It can be set in one of 4 ways: for number of inodes inside the directory (total sum of the subtree's inodes) with -i, -I options, for sum of (logical) file lengths with -l, -L options, for sum of chunk sizes (not considering goals) with -s, -S options and for physical hdd space (more or less chunk sizes multiplied by goal of each chunk) with -r, -R options. Small letters set soft quota, capital letters set hard quota. -a and -A options in mfsdelquota mean all kinds of quota. Quota behaviour is described below. For soft quota grace period can be defined using -p option. When grace period is not given then default value will be used (option defined in mfsmaster.cfg or seven days if it's not defined there).
The best solution for you is to set a "total size hard quota", which does not take goal under consideration.
The command to set it is as follows (e.g.):
mfssetquota -S 10TiB /mnt/mfs/user1
Next, to report the quota properly to samba, you have to mount a share with -S
(equivalent to -o mfssubfolder
) parameter:
man mfsmount
:
-S PATH, -o mfssubfolder=PATH mount specified MooseFS directory (default is /, i.e. whole filesystem)
mfsmount -o mfssubfoler=user1 /mnt/homedirs/user1
and then share it through Samba. The thing is, that you have to mount and share through Samba each directory separately to enable properly reporting free space etc.