mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
g13: Implement --umount for dm-crypt.
* g13/g13.c (main): Implement command --umount. * g13/mount.c (g13_umount_container): use the syshelper if needed. * g13/backend.c (be_umount_container): New. * g13/be-dmcrypt.c (be_dmcrypt_umount_container): New. * g13/call-syshelp.c (call_syshelp_run_umount): New. * g13/sh-cmd.c (cmd_umount): New. (register_commands): Register UMOUNT. * g13/sh-dmcrypt.c (sh_dmcrypt_umount_container): New. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
c9a0bccc77
commit
b781113cf1
11 changed files with 245 additions and 23 deletions
|
@ -520,6 +520,40 @@ call_syshelp_run_mount (ctrl_t ctrl, int conttype, const char *mountpoint,
|
|||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Run the UMOUNT command on the current device. CONTTYPES gives the
|
||||
* content type of the container (fixme: Do we really need this?).
|
||||
*/
|
||||
gpg_error_t
|
||||
call_syshelp_run_umount (ctrl_t ctrl, int conttype)
|
||||
{
|
||||
gpg_error_t err;
|
||||
assuan_context_t ctx;
|
||||
|
||||
err = start_syshelp (ctrl, &ctx);
|
||||
if (err)
|
||||
goto leave;
|
||||
|
||||
if (conttype == CONTTYPE_DM_CRYPT)
|
||||
{
|
||||
err = assuan_transact (ctx, "UMOUNT dm-crypt",
|
||||
NULL, NULL,
|
||||
NULL, NULL,
|
||||
NULL, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
log_error ("invalid backend type %d given\n", conttype);
|
||||
err = GPG_ERR_INTERNAL;
|
||||
goto leave;
|
||||
}
|
||||
|
||||
leave:
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Run the SUSPEND command on the current device. CONTTYPES gives the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue