summaryrefslogtreecommitdiff
path: root/src/core/umount.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/umount.c')
-rw-r--r--src/core/umount.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/core/umount.c b/src/core/umount.c
index 95e47e3c5a..8c69e74caf 100644
--- a/src/core/umount.c
+++ b/src/core/umount.c
@@ -381,7 +381,13 @@ static int delete_loopback(const char *device) {
static int delete_dm(dev_t devnum) {
int _cleanup_close_ fd = -1;
int r;
- struct dm_ioctl dm;
+ struct dm_ioctl dm = {
+ .version = {DM_VERSION_MAJOR,
+ DM_VERSION_MINOR,
+ DM_VERSION_PATCHLEVEL},
+ .data_size = sizeof(dm),
+ .dev = devnum,
+ };
assert(major(devnum) != 0);
@@ -389,14 +395,6 @@ static int delete_dm(dev_t devnum) {
if (fd < 0)
return -errno;
- zero(dm);
- dm.version[0] = DM_VERSION_MAJOR;
- dm.version[1] = DM_VERSION_MINOR;
- dm.version[2] = DM_VERSION_PATCHLEVEL;
-
- dm.data_size = sizeof(dm);
- dm.dev = devnum;
-
r = ioctl(fd, DM_DEV_REMOVE, &dm);
return r >= 0 ? 0 : -errno;
}