summaryrefslogtreecommitdiffstats
path: root/include/loopdev.h
diff options
context:
space:
mode:
authorStanislav Brabec2016-07-14 15:29:09 +0200
committerKarel Zak2016-08-03 11:53:28 +0200
commit74a4705a993ce475d95c1c20d0cc4eb740b0c933 (patch)
tree3d8f1ccfcd24f17448830c6f1977566917e31092 /include/loopdev.h
parentmount: Handle MNT_ERR_LOOPOVERLAP (diff)
downloadkernel-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.h8
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 */