summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2021-10-15 11:23:00 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-11-10 15:01:29 +0100
commit7b3ff9a957630535ec58aeca7e41e6c63fa99114 (patch)
treefee9dc63a3d88804da1af42de1139adcb9eb31c6
parent82b2135bf0512c11f7f21f9d0689e8ea5b4a2529 (diff)
downloadsystemd-7b3ff9a957630535ec58aeca7e41e6c63fa99114.tar.gz
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. (cherry picked from commit 6a1301d8c97dc650e4355bb7c193f5821b3383a8)
-rw-r--r--src/home/homework-luks.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/home/homework-luks.c b/src/home/homework-luks.c
index 64bbfe3c77..38d7d7cc70 100644
--- a/src/home/homework-luks.c
+++ b/src/home/homework-luks.c
@@ -2813,7 +2813,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 */
@@ -2887,7 +2887,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);