diff options
author | Richard Jones <rjones@redhat.com> | 2009-04-07 10:25:46 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2009-04-07 10:25:46 +0100 |
commit | 6085137e65cb63aaf725207f2929a571d1149420 (patch) | |
tree | 95b1346a4be550a8c18c8123986fe549390618a0 /daemon/stubs.c | |
parent | 7ea56c8d0bca01a602df8e87e52d90c5b44e2cc2 (diff) | |
download | libguestfs-6085137e65cb63aaf725207f2929a571d1149420.tar.gz libguestfs-6085137e65cb63aaf725207f2929a571d1149420.tar.xz libguestfs-6085137e65cb63aaf725207f2929a571d1149420.zip |
Implement simple lvs/vgs/pvs commands.
Diffstat (limited to 'daemon/stubs.c')
-rw-r--r-- | daemon/stubs.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/daemon/stubs.c b/daemon/stubs.c index 63ca7704..06a86008 100644 --- a/daemon/stubs.c +++ b/daemon/stubs.c @@ -199,6 +199,54 @@ static void list_partitions_stub (XDR *xdr_in) free_strings (r); } +static void pvs_stub (XDR *xdr_in) +{ + char **r; + + r = do_pvs (); + if (r == NULL) + /* do_pvs has already called reply_with_error, so just return */ + return; + + struct guestfs_pvs_ret ret; + ret.physvols.physvols_len = count_strings (r); + ret.physvols.physvols_val = r; + reply ((xdrproc_t) &xdr_guestfs_pvs_ret, (char *) &ret); + free_strings (r); +} + +static void vgs_stub (XDR *xdr_in) +{ + char **r; + + r = do_vgs (); + if (r == NULL) + /* do_vgs has already called reply_with_error, so just return */ + return; + + struct guestfs_vgs_ret ret; + ret.volgroups.volgroups_len = count_strings (r); + ret.volgroups.volgroups_val = r; + reply ((xdrproc_t) &xdr_guestfs_vgs_ret, (char *) &ret); + free_strings (r); +} + +static void lvs_stub (XDR *xdr_in) +{ + char **r; + + r = do_lvs (); + if (r == NULL) + /* do_lvs has already called reply_with_error, so just return */ + return; + + struct guestfs_lvs_ret ret; + ret.logvols.logvols_len = count_strings (r); + ret.logvols.logvols_val = r; + reply ((xdrproc_t) &xdr_guestfs_lvs_ret, (char *) &ret); + free_strings (r); +} + static void pvs_full_stub (XDR *xdr_in) { guestfs_lvm_int_pv_list *r; @@ -271,6 +319,15 @@ void dispatch_incoming_message (XDR *xdr_in) case GUESTFS_PROC_LIST_PARTITIONS: list_partitions_stub (xdr_in); break; + case GUESTFS_PROC_PVS: + pvs_stub (xdr_in); + break; + case GUESTFS_PROC_VGS: + vgs_stub (xdr_in); + break; + case GUESTFS_PROC_LVS: + lvs_stub (xdr_in); + break; case GUESTFS_PROC_PVS_FULL: pvs_full_stub (xdr_in); break; |