git: da9713917eb2 - main - bhyvectl: reduce code duplication
Robert Wing
rew at FreeBSD.org
Sat Feb 27 21:45:45 UTC 2021
The branch main has been updated by rew:
URL: https://cgit.FreeBSD.org/src/commit/?id=da9713917eb26b67bafc740384ccd44f7dff09f2
commit da9713917eb26b67bafc740384ccd44f7dff09f2
Author: Robert Wing <rew at FreeBSD.org>
AuthorDate: 2021-02-27 21:05:52 +0000
Commit: Robert Wing <rew at FreeBSD.org>
CommitDate: 2021-02-27 21:05:52 +0000
bhyvectl: reduce code duplication
Combine send_start_checkpoint() and send_start_suspend() into a
single function named snapshot_request().
snapshot_request() is equivalent to send_start_checkpoint() and
send_start_suspend() except that it takes an additional argument. The
additional argument, enum ipc_opcode, is used to determine the type of
snapshot request being performed. Also, switch to using strlcpy instead
of strncpy.
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D28878
---
usr.sbin/bhyvectl/bhyvectl.c | 23 +++++------------------
1 file changed, 5 insertions(+), 18 deletions(-)
diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c
index 7b3a73cc3668..f9a790f5402e 100644
--- a/usr.sbin/bhyvectl/bhyvectl.c
+++ b/usr.sbin/bhyvectl/bhyvectl.c
@@ -1734,25 +1734,12 @@ done:
}
static int
-send_start_checkpoint(struct vmctx *ctx, const char *checkpoint_file)
+snapshot_request(struct vmctx *ctx, const char *file, enum ipc_opcode code)
{
struct checkpoint_op op;
- op.op = START_CHECKPOINT;
- strncpy(op.snapshot_filename, checkpoint_file, MAX_SNAPSHOT_VMNAME);
- op.snapshot_filename[MAX_SNAPSHOT_VMNAME - 1] = 0;
-
- return (send_checkpoint_op_req(ctx, &op));
-}
-
-static int
-send_start_suspend(struct vmctx *ctx, const char *suspend_file)
-{
- struct checkpoint_op op;
-
- op.op = START_SUSPEND;
- strncpy(op.snapshot_filename, suspend_file, MAX_SNAPSHOT_VMNAME);
- op.snapshot_filename[MAX_SNAPSHOT_VMNAME - 1] = 0;
+ op.op = code;
+ strlcpy(op.snapshot_filename, file, MAX_SNAPSHOT_VMNAME);
return (send_checkpoint_op_req(ctx, &op));
}
@@ -2416,10 +2403,10 @@ main(int argc, char *argv[])
#ifdef BHYVE_SNAPSHOT
if (!error && vm_checkpoint_opt)
- error = send_start_checkpoint(ctx, checkpoint_file);
+ error = snapshot_request(ctx, checkpoint_file, START_CHECKPOINT);
if (!error && vm_suspend_opt)
- error = send_start_suspend(ctx, suspend_file);
+ error = snapshot_request(ctx, suspend_file, START_SUSPEND);
#endif
free (opts);
More information about the dev-commits-src-all
mailing list