Example #1
0
function zfszpool_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
            $retval = zfs_zpool_configure($data);
            break;
        case UPDATENOTIFY_MODE_MODIFIED:
            $retval = zfs_zpool_properties($data);
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            $cnid = array_search_ex($data, $config['zfs']['pools']['pool'], "uuid");
            if (FALSE !== $cnid) {
                zfs_zpool_destroy($data);
                unset($config['zfs']['pools']['pool'][$cnid]);
                write_config();
                // remove existing pool cache
                conf_mount_rw();
                unlink_if_exists("{$g['cf_path']}/boot/zfs/zpool.cache");
                conf_mount_ro();
            }
            break;
    }
    return $retval;
}
Example #2
0
function zfszpool_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
            $retval = zfs_zpool_configure($data);
            break;
        case UPDATENOTIFY_MODE_MODIFIED:
            $retval = zfs_zpool_properties($data);
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            $cnid = array_search_ex($data, $config['zfs']['pools']['pool'], "uuid");
            if (FALSE !== $cnid) {
                zfs_zpool_destroy($data);
                unset($config['zfs']['pools']['pool'][$cnid]);
                write_config();
            }
            break;
    }
    return $retval;
}