The robot logic of ZFS snapshots and quotas

January 13, 2008

One of the things that irritate me about ZFS is the interaction between snapshots and quotas, specifically that ZFS snapshots count against a filesystem's quota. I can only call this robot logic; it is in a sense completely correct and it probably simplifies the implementation, but it is not useful.

The problem is that snapshots are a system level thing; having them count against user quotas is a problem waiting to happen. Consider trying to explain to a user that they have 'run out' of disk space because the system people have made a snapshot to run backups, which is just the situation you might get with the current ZFS approach. Not counting snapshots against quotas doesn't let users use any more space than they should, since they can't make snapshots themselves. Systems people making snapshots can 'exceed' the quota, but then they could just raise the quota directly.

(The possibility for user confusion is huge; consider, for example, that deleting a big file won't reduce your disk space usage when there is a snapshot hanging around.)

I am relatively twitchy about this issue partly because around here it's routine for some filesystems to be mostly or entirely full, so it's clear that we could easily run into this issue fairly frequently. If your quotas are just a precaution against runaway programs accidentally writing huge data files or the like, you will probably care much less.

Written on 13 January 2008.
« A thought about Amazon's S3 and EC2
A Python pattern: Mutating Proxies »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Jan 13 23:59:13 2008
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.