Mini Shell

Direktori : /opt/imh-python/lib/python3.9/site-packages/mdstat/
Upload File :
Current File : //opt/imh-python/lib/python3.9/site-packages/mdstat/device_resync.py

# Copyright 2015, Truveris Inc. All Rights Reserved.

from __future__ import absolute_import


def parse_device_resync_progress(line):
    tokens = line.split()[1:]

    operation = tokens.pop(0)

    if tokens.pop(0) != "=":
        raise ValueError("invalid resync line (missing '='): {0}"
                         .format(line))

    progress = tokens.pop(0)
    counts = tokens.pop(0)[1:-1].split("/", 1)
    resynced = int(counts[0])
    total = int(counts[1])

    finish = tokens.pop(0).split("=")[1]
    speed = tokens.pop(0).split("=")[1]

    return {
        "operation": operation,
        "progress": progress,
        "resynced": resynced,
        "total": total,
        "finish": finish,
        "speed": speed,
    }


def parse_device_resync_standby(line):
    return {
        "operation": line.strip(),
        "progress": "0%",
        "resynced": 0,
        "total": None,
        "finish": None,
        "speed": None,
    }

Zerion Mini Shell 1.0