|
Description
|
Currently, ZFS quotas apply to a dataset and all children. For filesystems,
this includes all snapshots as well. Unfortunately, there are two different
but equally valid uses for quotas:
1. For billing purposes, where the physical disk space consumed must be kept
in check in order for the system to function properly. The user has
administrative control (directly or indirectly) over snapshots, and
understand the ramifications of frequent snapshots on their quota. This
case is handled by the existing ZFS quotas.
2. To prevent 'runaway users' from consuming all disk space, typically found
in university settings. In this case, the snapshot policy is controlled
by a different authority, and the user probably doesn't know that
snapshots exist, let alone how they affect their quota. Under the existing
scheme, the user may get a message that they've exceeded their quota, but
can't delete any files of significance because a rolling snapshot happened
to be taken recently. The issue is not so much the physical space they're
consuming, but that they're logically limited in relation to other users
of the system.
We need a way to support #2, if only for the university setting. This might
best be expressed as an "immediate quota", and could be inheritable (though
validating that an immediate quota can be set could be an expensive operation).
|