File: //lib/python2.7/site-packages/sos/plugins/btrfs.py
# This file is part of the sos project: https://github.com/sosreport/sos
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# version 2 of the GNU General Public License.
#
# See the LICENSE file in the source distribution for further information.
from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin
class Btrfs(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin):
"""Btrfs filesystem
"""
plugin_name = 'btrfs'
profiles = ('storage',)
packages = ('btrfs-progs', 'btrfs-tools')
option_list = [
('details', "gather details for every btrfs filesystem", 'slow',
False)]
def setup(self):
self.add_cmd_output([
"btrfs filesystem show",
"btrfs version"
])
if self.get_option('details'):
btrfs_list = self.exec_cmd("mount -t btrfs")
device_list = []
if btrfs_list['status'] == 0:
for line in btrfs_list["output"].splitlines():
dev = line.split()[0]
fs = line.split()[2]
if not dev in device_list:
device_list.append(dev)
self.add_cmd_output(["btrfs filesystem usage '%s'" % fs,
"btrfs device stat '%s'" % fs,
"btrfs device usage '%s'" % fs,
"btrfs balance status '%s'" % fs,
"btrfs scrub status '%s'" % fs,
"btrfs subvolume list '%s'" % fs])
# vim: set et ts=4 sw=4 :