From 03ad99cff5743b9e0ce462f53dd2f0fcb17b169b Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 23 Jan 2013 15:25:29 -0800 Subject: ext4_utils: export make_ext4fs_sparse_fd Export a function to create a sparse image, writing the output to an fd. Useful for utilities that need to format a partition. Change-Id: I3737c65c69b7df0a0bd25885ee70aaadef8a4ad5 --- ext4_utils/make_ext4fs.c | 9 +++++++++ ext4_utils/make_ext4fs.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/ext4_utils/make_ext4fs.c b/ext4_utils/make_ext4fs.c index 64fcc84b..57179125 100644 --- a/ext4_utils/make_ext4fs.c +++ b/ext4_utils/make_ext4fs.c @@ -353,6 +353,15 @@ void reset_ext4fs_info() { } } +int make_ext4fs_sparse_fd(int fd, s64 len, + const char *mountpoint, struct selabel_handle *sehnd) +{ + reset_ext4fs_info(); + info.len = len; + + return make_ext4fs_internal(fd, NULL, mountpoint, NULL, 0, 1, 0, 0, 0, sehnd); +} + int make_ext4fs(const char *filename, s64 len, const char *mountpoint, struct selabel_handle *sehnd) { diff --git a/ext4_utils/make_ext4fs.h b/ext4_utils/make_ext4fs.h index e80e6367..d75ea02a 100644 --- a/ext4_utils/make_ext4fs.h +++ b/ext4_utils/make_ext4fs.h @@ -38,6 +38,8 @@ typedef void (*fs_config_func_t)(const char *path, int dir, unsigned *uid, unsig void reset_ext4fs_info(); int make_ext4fs(const char *filename, s64 len, const char *mountpoint, struct selabel_handle *sehnd); +int make_ext4fs_sparse_fd(int fd, s64 len, + const char *mountpoint, struct selabel_handle *sehnd); int make_ext4fs_internal(int fd, const char *directory, const char *mountpoint, fs_config_func_t fs_config_func, int gzip, int sparse, int crc, int wipe, int init_itabs, -- cgit v1.2.3