summaryrefslogtreecommitdiffstats
path: root/src/shared/resize-fs.h
blob: b40943c99216f2bd0ca9fbbdcb5c67a3c83b8b5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once

#include <inttypes.h>

#include "stat-util.h"

int resize_fs(int fd, uint64_t sz, uint64_t *ret_size);

#define BTRFS_MINIMAL_SIZE (256U*1024U*1024U)
#define XFS_MINIMAL_SIZE (300U*1024U*1024U)
#define EXT4_MINIMAL_SIZE (1024U*1024U)

uint64_t minimal_size_by_fs_magic(statfs_f_type_t magic);
uint64_t minimal_size_by_fs_name(const char *str);

bool fs_can_online_shrink_and_grow(statfs_f_type_t magic);