From: Lennart Poettering Date: Fri, 15 Oct 2021 09:23:00 +0000 (+0200) Subject: homework: don't bother with BLKRRPART on images that aren't block devices X-Git-Tag: v250-rc1~499 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a1301d8c97dc650e4355bb7c193f5821b3383a8;p=thirdparty%2Fsystemd.git homework: don't bother with BLKRRPART on images that aren't block devices We currently call this ioctl even if we are backed by a regular file, which is actually the common case. While this doesn't really hurt, it does result in very confusing logs. --- diff --git a/src/home/homework-luks.c b/src/home/homework-luks.c index 42546b68670..b38535ddc35 100644 --- a/src/home/homework-luks.c +++ b/src/home/homework-luks.c @@ -2881,7 +2881,7 @@ int home_resize_luks( if (r > 0) log_info("Growing of partition completed."); - if (ioctl(image_fd, BLKRRPART, 0) < 0) + if (S_ISBLK(st.st_mode) && ioctl(image_fd, BLKRRPART, 0) < 0) log_debug_errno(errno, "BLKRRPART failed on block device, ignoring: %m"); /* Tell LUKS about the new bigger size too */ @@ -2955,7 +2955,7 @@ int home_resize_luks( if (r > 0) log_info("Shrinking of partition completed."); - if (ioctl(image_fd, BLKRRPART, 0) < 0) + if (S_ISBLK(st.st_mode) && ioctl(image_fd, BLKRRPART, 0) < 0) log_debug_errno(errno, "BLKRRPART failed on block device, ignoring: %m"); } else { r = home_store_embedded_identity(new_home, setup->root_fd, h->uid, embedded_home);