mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
7f90ad84c1
Similar to LVSINFO type which gathers LV + its DM_DEVICE_INFO, the new LVSSTATUS/SEGSSTATUS report type will gather LV/segment + its DM_DEVICE_STATUS. Since we can report status only for certain segment, in case of LVSSTATUS we need to choose which segment related to the LV should be processed that represents the "LV status". In case of SEGSSTATUS type it's clear - the status is reported for the segment just processed.
56 lines
1.6 KiB
C
56 lines
1.6 KiB
C
/*
|
|
* Copyright (C) 2002-2004 Sistina Software, Inc. All rights reserved.
|
|
* Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved.
|
|
*
|
|
* This file is part of LVM2.
|
|
*
|
|
* This copyrighted material is made available to anyone wishing to use,
|
|
* modify, copy, or redistribute it subject to the terms and conditions
|
|
* of the GNU Lesser General Public License v.2.1.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef _LVM_REPORT_H
|
|
#define _LVM_REPORT_H
|
|
|
|
#include "metadata-exported.h"
|
|
#include "label.h"
|
|
#include "activate.h"
|
|
|
|
typedef enum {
|
|
LVS = 1,
|
|
LVSINFO = 2,
|
|
LVSSTATUS = 4,
|
|
PVS = 8,
|
|
VGS = 16,
|
|
SEGS = 32,
|
|
SEGSSTATUS = 64,
|
|
PVSEGS = 128,
|
|
LABEL = 256,
|
|
DEVTYPES = 512
|
|
} report_type_t;
|
|
|
|
struct field;
|
|
struct report_handle;
|
|
|
|
typedef int (*field_report_fn) (struct report_handle * dh, struct field * field,
|
|
const void *data);
|
|
|
|
void *report_init(struct cmd_context *cmd, const char *format, const char *keys,
|
|
report_type_t *report_type, const char *separator,
|
|
int aligned, int buffered, int headings, int field_prefixes,
|
|
int quoted, int columns_as_rows, const char *selection);
|
|
void report_free(void *handle);
|
|
int report_object(void *handle, struct volume_group *vg,
|
|
struct logical_volume *lv, struct physical_volume *pv,
|
|
struct lv_segment *seg, struct pv_segment *pvseg,
|
|
struct lvinfo *lvinfo, struct lv_seg_status *lv_seg_status,
|
|
struct label *label);
|
|
int report_devtypes(void *handle);
|
|
int report_output(void *handle);
|
|
|
|
#endif
|