summaryrefslogtreecommitdiffstats
path: root/sys-utils/losetup.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys-utils/losetup.c')
-rw-r--r--sys-utils/losetup.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys-utils/losetup.c b/sys-utils/losetup.c
index 7d14f566c..db7b68deb 100644
--- a/sys-utils/losetup.c
+++ b/sys-utils/losetup.c
@@ -447,7 +447,7 @@ static void __attribute__((__noreturn__)) usage(void)
exit(EXIT_SUCCESS);
}
-static void warn_size(const char *filename, uint64_t size)
+static void warn_size(const char *filename, uint64_t size, uint64_t offset, int flags)
{
struct stat st;
@@ -455,6 +455,9 @@ static void warn_size(const char *filename, uint64_t size)
if (stat(filename, &st) || S_ISBLK(st.st_mode))
return;
size = st.st_size;
+
+ if (flags & LOOPDEV_FL_OFFSET)
+ size -= offset;
}
if (size < 512)
@@ -835,7 +838,7 @@ int main(int argc, char **argv)
if (res == 0) {
if (showdev)
printf("%s\n", loopcxt_get_device(&lc));
- warn_size(file, sizelimit);
+ warn_size(file, sizelimit, offset, flags);
if (set_dio || set_blocksize)
goto lo_set_post;
}