Question about FSHammer getting full
Matthew Dillon
dillon at apollo.backplane.com
Thu Aug 27 10:08:22 PDT 2009
Thomas, its definitely possible to do both those things.
Pruning on a per-file basis can be done by carefully specifying the
key range in the ioctl call to just cover the desired object id
(inode number).
Determining how much space the snapshots use can be accomplished by
scanning the B-Tree. Some form of the mirror-read ioctl which flags
the mirror read code to just send the B-Tree records without any of
the related bulk data (HAMMER_MREC_TYPE_PASS).
Then the hammer utility can use the mirror-read ioctl with this new
flag and collect the usage information into buckets based on the
delete_tid. The utility can use the prune command's snapshot gathering
procedures to figure out where the bucket demarkations are.
I think it all can be done with only a modest amount of work and it
would be awesome if you did it!
-Matt
More information about the Users
mailing list