source: mainline/uspace/lib/ext4/include/ext4/cfg.h@ 91fc2dae

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 91fc2dae was 91fc2dae, checked in by Maurizio Lombardi <mlombard@…>, 7 years ago

libext4: fs creation should support different block sizes, not only 1k

This was not possible before because of some wrong assumptions in
ext4_superblock_get_blocks_in_group() and
ext4_superblock_get_group_backup_blocks()
and hardcoded values in ext4_superblock_create()

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*
2 * Copyright (c) 2018 Jiri Svoboda
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * - The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/** @addtogroup libext4
30 * @{
31 */
32
33#ifndef LIBEXT4_CFG_H_
34#define LIBEXT4_CFG_H_
35
36#include "types.h"
37
38/** Versions available to choose from when creating a new file system. */
39typedef enum {
40 /** Ext2 original */
41 extver_ext2_old,
42 /** Ext2 dynamic revision */
43 extver_ext2
44} ext4_cfg_ver_t;
45
46/** Default file system version */
47#define ext4_def_fs_version extver_ext2
48
49/** Configuration of a new ext4 file system */
50typedef struct {
51 /** File system version */
52 ext4_cfg_ver_t version;
53 /** Volume name encoded as UTF-8 string */
54 const char *volume_name;
55 /** Filesystem block size */
56 size_t bsize;
57} ext4_cfg_t;
58
59#endif
60
61/**
62 * @}
63 */
Note: See TracBrowser for help on using the repository browser.