util: Add fields for VIR_STORAGE_NET_PROTOCOL_NFS to virStorageSource

'nfs_user'/'nfs_group' represents the XML configuration.

'nfs_uid'/'nfs_gid' is internal store when libvirt looks up the user's
uid/gid in the system.

Signed-off-by: Ryan Gahagan <rgahagan@cs.utexas.edu>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Ryan Gahagan 2021-01-06 15:32:27 -06:00 committed by Peter Krempa
parent 6cfb4e2fe9
commit 4b2f083c34
2 changed files with 16 additions and 0 deletions

View File

@ -2293,6 +2293,11 @@ virStorageSourceCopy(const virStorageSource *src,
def->ssh_host_key_check_disabled = src->ssh_host_key_check_disabled;
def->ssh_user = g_strdup(src->ssh_user);
def->nfs_user = g_strdup(src->nfs_user);
def->nfs_group = g_strdup(src->nfs_group);
def->nfs_uid = src->nfs_uid;
def->nfs_gid = src->nfs_gid;
return g_steal_pointer(&def);
}
@ -2533,6 +2538,9 @@ virStorageSourceClear(virStorageSourcePtr def)
VIR_FREE(def->ssh_user);
VIR_FREE(def->nfs_user);
VIR_FREE(def->nfs_group);
virStorageSourceInitiatorClear(&def->initiator);
/* clear everything except the class header as the object APIs

View File

@ -385,6 +385,14 @@ struct _virStorageSource {
/* these must not be used apart from formatting the output JSON in the qemu driver */
char *ssh_user;
bool ssh_host_key_check_disabled;
/* nfs_user and nfs_group store the strings passed in by the user for NFS params.
* nfs_uid and nfs_gid represent the converted/looked up ID numbers which are used
* during run time, and are not based on the configuration */
char *nfs_user;
char *nfs_group;
uid_t nfs_uid;
gid_t nfs_gid;
};
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virStorageSource, virObjectUnref);