diff options
author | Stanislav Brabec | 2016-07-14 15:29:09 +0200 |
---|---|---|
committer | Karel Zak | 2016-08-03 11:53:28 +0200 |
commit | 74a4705a993ce475d95c1c20d0cc4eb740b0c933 (patch) | |
tree | 3d8f1ccfcd24f17448830c6f1977566917e31092 /include/loopdev.h | |
parent | mount: Handle MNT_ERR_LOOPOVERLAP (diff) | |
download | kernel-qcow2-util-linux-74a4705a993ce475d95c1c20d0cc4eb740b0c933.tar.gz kernel-qcow2-util-linux-74a4705a993ce475d95c1c20d0cc4eb740b0c933.tar.xz kernel-qcow2-util-linux-74a4705a993ce475d95c1c20d0cc4eb740b0c933.zip |
Add sizelimit to internal API
Fully safe checks of loop device need to check sizelimit. To prevent need of two
nearly equal functions, introduce sizelimit parameter to several internal
functions:
loopdev_is_used()
loopdev_find_by_backing_file()
loopcxt_is_used()
loopcxt_find_by_backing_file()
If sizelimit is zero, fall back to the old behavior (ignoring of sizelimit).
Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
Diffstat (limited to 'include/loopdev.h')
-rw-r--r-- | include/loopdev.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/loopdev.h b/include/loopdev.h index 18ca41fe8..57fcc1b10 100644 --- a/include/loopdev.h +++ b/include/loopdev.h @@ -133,9 +133,9 @@ extern int loopdev_is_autoclear(const char *device); extern char *loopdev_get_backing_file(const char *device); extern int loopdev_is_used(const char *device, const char *filename, - uint64_t offset, int flags); + uint64_t offset, uint64_t sizelimit, int flags); extern char *loopdev_find_by_backing_file(const char *filename, - uint64_t offset, int flags); + uint64_t offset, uint64_t sizelimit, int flags); extern int loopcxt_find_unused(struct loopdev_cxt *lc); extern int loopdev_delete(const char *device); extern int loopdev_count_by_backing_file(const char *filename, char **loopdev); @@ -186,12 +186,14 @@ extern int loopcxt_is_dio(struct loopdev_cxt *lc); extern int loopcxt_is_partscan(struct loopdev_cxt *lc); extern int loopcxt_find_by_backing_file(struct loopdev_cxt *lc, const char *filename, - uint64_t offset, int flags); + uint64_t offset, uint64_t sizelimit, + int flags); extern int loopcxt_is_used(struct loopdev_cxt *lc, struct stat *st, const char *backing_file, uint64_t offset, + uint64_t sizelimit, int flags); #endif /* UTIL_LINUX_LOOPDEV_H */ |