var _ … type metricsBlock … // NewMetricsStatfs creates a new metricsBlock with the device node of the // Volume. func NewMetricsBlock(device string) MetricsProvider { … } // See MetricsProvider.GetMetrics // GetMetrics detects the size of the BlockMode volume for the device node // where the Volume is attached. // // Note that only the capacity of the device can be detected with standard // tools. Storage systems may have more information that they can provide by // going through specialized APIs. func (mb *metricsBlock) GetMetrics() (*Metrics, error) { … } // getBlockInfo fetches metrics.Capacity by opening the device and seeking to // the end. func (mb *metricsBlock) getBlockInfo(metrics *Metrics) error { … }