Eric Schrock <[EMAIL PROTECTED]> wrote on 04/16/2007 05:29:05 PM: > On Mon, Apr 16, 2007 at 05:13:37PM -0500, [EMAIL PROTECTED] wrote: > > > > Why it was considered a valid data column in its current state is > > anyone's guess. > > > > This column is precise and valid. It represents the amount of space > uniquely referenced by the snapshot, and therefore the amount of space > that would be freed were it to be deleted. > The OP's question and my response should indicate that while this number may be precise and valid, it is not useful for most administrators workflow. > The shared space between snapshots, besides being difficult to > calculate, is nearly impossible to enumerate in anything beyond the most > trivial setups. For example, with just snapshots 'a b c d e', you can > have space shared by the following combinations: > a b > a b c > a b c d > a b c d e > b c > b c d > b c d e > c d > c d e > d e It is complex, I will give you that. Most of the accounting needed is already done in dsl's born and dead code. > > Not to mention the space shared with the active filesystem. With dozens > of snapshots, you're talking about hundreds or thousands of > combinations. It's certainly possible to calculate the space used > various snapshot intersections, but presenting it is another matter. > Perhaps you could describe how you would like this information to be > presented in zfs(1M). > Hello Eric, I am not looking for a gigantic gantt chart. Displaying the data in one way that is useful across the board is a nontrivial task -- but coming up with 3 or 4 ways to dive into the data from different perspectives may cover all but the most edge cases. It is not acceptable to ask admins to delete and find out blindly -- we like to be able to plan before we act. This is unacceptable when you get to anything beyond the most trivial of setups. In its current form, we can have more "hidden" allocated storage than reported usage is never a pleasant place to be in. I consider that broke. How is an administrator to know snap 46 -> 48 are taking up 4 tb when you have 2000+ snaps and looking to recover freespace -- zfs list seems to imply we should get along with the 1.2m and 300m listed as "used" for those two snaps? I suggest that the default zfs list should show the space (all of the space) accounted in the last snapshot before the dead list for the block. You treat snapshots as a timeline in code, while discussing the functionality and in usage -- do so in default reporting too. This simple changes gives admins the ability to see large growth spikes/deletes inline. This shows what space would be freed when deleting snaps from the oldest one to X. when a snap is killed off in the middle while you are inspecting the born dead blocks adjust the usage counter to the right or off the books. Change the "unique" listing to be zfs list -o snapunique add other flags such as snapborn and snapdead to show the admin the flow of data when doing zfs list -o snapunique,snapborn,snapdead. snapborn and dead should show the usage born and marked dead on each unique snapshot. third, zfs listsnap <list of snapshot names> to show how much unique space is reserved and would be freed by deleting the snapshots in the list. The data is all there in the born and dead lists, but admins are stuck with a view that completely hides all space reservations that are used across two or more snaps. Put out an RFC on this, I am sure there are many ideas floating around about how the utilization on snaps should or could be reported. I think most everyone understands that doing some forms of reporting are non-trivial. Where we are at now is hiding too much data and revealing data that is a poor/invalid picture of the true state. kindest regards, -Wade _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss