linux/fs/ext4/fsmap.h

// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright (C) 2017 Oracle.  All Rights Reserved.
 *
 * Author: Darrick J. Wong <[email protected]>
 */
#ifndef __EXT4_FSMAP_H__
#define __EXT4_FSMAP_H__

struct fsmap;

/* internal fsmap representation */
struct ext4_fsmap {};

struct ext4_fsmap_head {};

void ext4_fsmap_from_internal(struct super_block *sb, struct fsmap *dest,
		struct ext4_fsmap *src);
void ext4_fsmap_to_internal(struct super_block *sb, struct ext4_fsmap *dest,
		struct fsmap *src);

/* fsmap to userspace formatter - copy to user & advance pointer */
ext4_fsmap_format_t;

int ext4_getfsmap(struct super_block *sb, struct ext4_fsmap_head *head,
		ext4_fsmap_format_t formatter, void *arg);

#define EXT4_QUERY_RANGE_ABORT
#define EXT4_QUERY_RANGE_CONTINUE

/*	fmr_owner special values for FS_IOC_GETFSMAP; some share w/ XFS */
#define EXT4_FMR_OWN_FREE
#define EXT4_FMR_OWN_UNKNOWN
#define EXT4_FMR_OWN_FS
#define EXT4_FMR_OWN_LOG
#define EXT4_FMR_OWN_INODES
#define EXT4_FMR_OWN_GDT
#define EXT4_FMR_OWN_RESV_GDT
#define EXT4_FMR_OWN_BLKBM
#define EXT4_FMR_OWN_INOBM

#endif /* __EXT4_FSMAP_H__ */