Question about FSHammer getting full

Matthew Dillon dillon at
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!


More information about the Users mailing list