diff options
author | Karel Zak | 2019-01-22 11:37:35 +0100 |
---|---|---|
committer | Karel Zak | 2019-01-22 11:37:35 +0100 |
commit | 75d239ffd89b93f79059928e436f1068f402452e (patch) | |
tree | b6e9935ec7b9e5be8dacc39cbebd40586cadfe94 /include | |
parent | lib/loopdev: differentiate between setter()s and ioctl calls (diff) | |
download | kernel-qcow2-util-linux-75d239ffd89b93f79059928e436f1068f402452e.tar.gz kernel-qcow2-util-linux-75d239ffd89b93f79059928e436f1068f402452e.tar.xz kernel-qcow2-util-linux-75d239ffd89b93f79059928e436f1068f402452e.zip |
lib/loopdev: set blocksize when create a new device
The partition scanner in kernel depends on blocksize. We need to set
the blocksize before we call LOOP_SET_STATUS64 (this ioctl triggers
the scanner).
This patch extends the internal API to save blocksize into loopdev
context to be usable later for loopcxt_setup_device().
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/loopdev.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/loopdev.h b/include/loopdev.h index bbc0d3dd7..0e3a7517a 100644 --- a/include/loopdev.h +++ b/include/loopdev.h @@ -96,6 +96,7 @@ struct loopdev_cxt { char *filename; /* backing file for loopcxt_set_... */ int fd; /* open(/dev/looo<N>) */ int mode; /* fd mode O_{RDONLY,RDWR} */ + uint64_t blocksize; /* used by loopcxt_setup_device() */ int flags; /* LOOPDEV_FL_* flags */ unsigned int has_info:1; /* .info contains data */ @@ -173,6 +174,7 @@ extern int loopcxt_ioctl_blocksize(struct loopdev_cxt *lc, uint64_t blocksize); int loopcxt_set_offset(struct loopdev_cxt *lc, uint64_t offset); int loopcxt_set_sizelimit(struct loopdev_cxt *lc, uint64_t sizelimit); +int loopcxt_set_blocksize(struct loopdev_cxt *lc, uint64_t blocksize); int loopcxt_set_flags(struct loopdev_cxt *lc, uint32_t flags); int loopcxt_set_backing_file(struct loopdev_cxt *lc, const char *filename); |