X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmake_ext4fs.git;a=blobdiff_plain;f=make_ext4fs.c;h=dd4d0d3f301ab45d2135d28e5af5ce47ac3919ad;hp=d25dc0ce0cd3479da921731a0d60b8ba1305479b;hb=bd53eaafbc2a89a57b8adda38f53098a431fa8f4;hpb=67cbf164c72c2916641e2d4900f7cf497375b4c3 diff --git a/make_ext4fs.c b/make_ext4fs.c index d25dc0c..dd4d0d3 100644 --- a/make_ext4fs.c +++ b/make_ext4fs.c @@ -33,6 +33,7 @@ #include #include #include +#include /* TODO: Not implemented: Allocating blocks in the same block group as the file inode @@ -44,27 +45,6 @@ static int filter_dot(const struct dirent *d) return (strcmp(d->d_name, "..") && strcmp(d->d_name, ".")); } -static u32 build_default_directory_structure(const char *dir_path) -{ - u32 inode; - u32 root_inode; - struct dentry dentries = { - .filename = "lost+found", - .file_type = EXT4_FT_DIR, - .mode = S_IRWXU, - .uid = 0, - .gid = 0, - .mtime = 0, - }; - root_inode = make_directory(0, 1, &dentries, 1); - inode = make_directory(root_inode, 0, NULL, 0); - *dentries.inode = inode; - inode_set_permissions(inode, dentries.mode, - dentries.uid, dentries.gid, dentries.mtime); - - return root_inode; -} - /* Read a local directory and create the same tree in the generated filesystem. Calls itself recursively with each directory in the given directory. full_path is an absolute or relative path, with a trailing slash, to the @@ -87,6 +67,9 @@ static u32 build_directory_structure(const char *full_path, const char *dir_path u32 dirs = 0; bool needs_lost_and_found = false; + /* alphasort is locale-dependent; let's fix the locale to some sane value */ + setlocale(LC_COLLATE, "C"); + if (full_path) { entries = scandir(full_path, &namelist, filter_dot, (void*)alphasort); if (entries < 0) { @@ -456,6 +439,7 @@ int make_ext4fs_internal(int fd, const char *_directory, printf(" Blocks: %"PRIu64"\n", aux_info.len_blocks); printf(" Block groups: %d\n", aux_info.groups); + printf(" Reserved blocks: %"PRIu64"\n", (aux_info.len_blocks / 100) * info.reserve_pcnt); printf(" Reserved block group size: %d\n", info.bg_desc_reserve_blocks); ext4_sparse_file = sparse_file_new(info.block_size, info.len);