xref: /aosp_15_r20/external/f2fs-tools/tools/f2fs_io/f2fs_io.h (revision 59bfda1f02d633cd6b8b69f31eee485d40f6eef6)
1*59bfda1fSAndroid Build Coastguard Worker /*
2*59bfda1fSAndroid Build Coastguard Worker  * ioctl.h - f2fs ioctl header
3*59bfda1fSAndroid Build Coastguard Worker  *
4*59bfda1fSAndroid Build Coastguard Worker  * Authors: Jaegeuk Kim <[email protected]>
5*59bfda1fSAndroid Build Coastguard Worker  */
6*59bfda1fSAndroid Build Coastguard Worker 
7*59bfda1fSAndroid Build Coastguard Worker #include <sys/types.h>
8*59bfda1fSAndroid Build Coastguard Worker #include <sys/ioctl.h>
9*59bfda1fSAndroid Build Coastguard Worker 
10*59bfda1fSAndroid Build Coastguard Worker #ifdef HAVE_LINUX_TYPES_H
11*59bfda1fSAndroid Build Coastguard Worker #include <linux/types.h>
12*59bfda1fSAndroid Build Coastguard Worker #endif
13*59bfda1fSAndroid Build Coastguard Worker #ifdef HAVE_LINUX_FIEMAP_H
14*59bfda1fSAndroid Build Coastguard Worker #include <linux/fiemap.h>
15*59bfda1fSAndroid Build Coastguard Worker #endif
16*59bfda1fSAndroid Build Coastguard Worker #ifdef HAVE_LINUX_FS_H
17*59bfda1fSAndroid Build Coastguard Worker #include <linux/fs.h>
18*59bfda1fSAndroid Build Coastguard Worker #endif
19*59bfda1fSAndroid Build Coastguard Worker #ifdef HAVE_LINUX_VERITY_H
20*59bfda1fSAndroid Build Coastguard Worker #include <linux/fsverity.h>
21*59bfda1fSAndroid Build Coastguard Worker #endif
22*59bfda1fSAndroid Build Coastguard Worker 
23*59bfda1fSAndroid Build Coastguard Worker #include <sys/types.h>
24*59bfda1fSAndroid Build Coastguard Worker 
25*59bfda1fSAndroid Build Coastguard Worker #ifdef UNUSED
26*59bfda1fSAndroid Build Coastguard Worker #elif defined(__GNUC__)
27*59bfda1fSAndroid Build Coastguard Worker # define UNUSED(x) UNUSED_ ## x __attribute__((unused))
28*59bfda1fSAndroid Build Coastguard Worker #elif defined(__LCLINT__)
29*59bfda1fSAndroid Build Coastguard Worker # define UNUSED(x) x
30*59bfda1fSAndroid Build Coastguard Worker #elif defined(__cplusplus)
31*59bfda1fSAndroid Build Coastguard Worker # define UNUSED(x)
32*59bfda1fSAndroid Build Coastguard Worker #else
33*59bfda1fSAndroid Build Coastguard Worker # define UNUSED(x) x
34*59bfda1fSAndroid Build Coastguard Worker #endif
35*59bfda1fSAndroid Build Coastguard Worker 
36*59bfda1fSAndroid Build Coastguard Worker typedef uint64_t	u64;
37*59bfda1fSAndroid Build Coastguard Worker typedef uint32_t	u32;
38*59bfda1fSAndroid Build Coastguard Worker typedef uint16_t	u16;
39*59bfda1fSAndroid Build Coastguard Worker typedef uint8_t		u8;
40*59bfda1fSAndroid Build Coastguard Worker 
41*59bfda1fSAndroid Build Coastguard Worker #ifndef HAVE_LINUX_TYPES_H
42*59bfda1fSAndroid Build Coastguard Worker typedef u8	__u8;
43*59bfda1fSAndroid Build Coastguard Worker typedef u16	__u16;
44*59bfda1fSAndroid Build Coastguard Worker typedef u32	__u32;
45*59bfda1fSAndroid Build Coastguard Worker typedef u16	__le16;
46*59bfda1fSAndroid Build Coastguard Worker typedef u32	__le32;
47*59bfda1fSAndroid Build Coastguard Worker typedef u16	__be16;
48*59bfda1fSAndroid Build Coastguard Worker typedef u32	__be32;
49*59bfda1fSAndroid Build Coastguard Worker #endif
50*59bfda1fSAndroid Build Coastguard Worker 
51*59bfda1fSAndroid Build Coastguard Worker #define F2FS_DEFAULT_BLKSIZE	4096
52*59bfda1fSAndroid Build Coastguard Worker #define NEW_ADDR	0xFFFFFFFF
53*59bfda1fSAndroid Build Coastguard Worker 
54*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_IOC_GETFLAGS
55*59bfda1fSAndroid Build Coastguard Worker #define FS_IOC_GETFLAGS			_IOR('f', 1, long)
56*59bfda1fSAndroid Build Coastguard Worker #endif
57*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_IOC_SETFLAGS
58*59bfda1fSAndroid Build Coastguard Worker #define FS_IOC_SETFLAGS			_IOW('f', 2, long)
59*59bfda1fSAndroid Build Coastguard Worker #endif
60*59bfda1fSAndroid Build Coastguard Worker 
61*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOCTL_MAGIC		0xf5
62*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_GETFLAGS		FS_IOC_GETFLAGS
63*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_SETFLAGS		FS_IOC_SETFLAGS
64*59bfda1fSAndroid Build Coastguard Worker 
65*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_START_ATOMIC_WRITE	_IO(F2FS_IOCTL_MAGIC, 1)
66*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_COMMIT_ATOMIC_WRITE	_IO(F2FS_IOCTL_MAGIC, 2)
67*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_START_VOLATILE_WRITE	_IO(F2FS_IOCTL_MAGIC, 3)
68*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_RELEASE_VOLATILE_WRITE	_IO(F2FS_IOCTL_MAGIC, 4)
69*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_ABORT_VOLATILE_WRITE	_IO(F2FS_IOCTL_MAGIC, 5)
70*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_GARBAGE_COLLECT	_IOW(F2FS_IOCTL_MAGIC, 6, __u32)
71*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_WRITE_CHECKPOINT	_IO(F2FS_IOCTL_MAGIC, 7)
72*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_DEFRAGMENT		_IOWR(F2FS_IOCTL_MAGIC, 8,	\
73*59bfda1fSAndroid Build Coastguard Worker 						struct f2fs_defragment)
74*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_MOVE_RANGE		_IOWR(F2FS_IOCTL_MAGIC, 9,	\
75*59bfda1fSAndroid Build Coastguard Worker 						struct f2fs_move_range)
76*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_FLUSH_DEVICE		_IOW(F2FS_IOCTL_MAGIC, 10,	\
77*59bfda1fSAndroid Build Coastguard Worker 						struct f2fs_flush_device)
78*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_GARBAGE_COLLECT_RANGE	_IOW(F2FS_IOCTL_MAGIC, 11,	\
79*59bfda1fSAndroid Build Coastguard Worker 						struct f2fs_gc_range)
80*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_GET_FEATURES		_IOR(F2FS_IOCTL_MAGIC, 12, __u32)
81*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_SET_PIN_FILE		_IOW(F2FS_IOCTL_MAGIC, 13, __u32)
82*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_GET_PIN_FILE		_IOR(F2FS_IOCTL_MAGIC, 14, __u32)
83*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_PRECACHE_EXTENTS	_IO(F2FS_IOCTL_MAGIC, 15)
84*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_RESIZE_FS		_IOW(F2FS_IOCTL_MAGIC, 16, __u64)
85*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_GET_COMPRESS_BLOCKS	_IOR(F2FS_IOCTL_MAGIC, 17, __u64)
86*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_RELEASE_COMPRESS_BLOCKS				\
87*59bfda1fSAndroid Build Coastguard Worker 					_IOR(F2FS_IOCTL_MAGIC, 18, __u64)
88*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_RESERVE_COMPRESS_BLOCKS				\
89*59bfda1fSAndroid Build Coastguard Worker 					_IOR(F2FS_IOCTL_MAGIC, 19, __u64)
90*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_GET_COMPRESS_OPTION    _IOR(F2FS_IOCTL_MAGIC, 21,      \
91*59bfda1fSAndroid Build Coastguard Worker 						struct f2fs_comp_option)
92*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_SET_COMPRESS_OPTION    _IOW(F2FS_IOCTL_MAGIC, 22,      \
93*59bfda1fSAndroid Build Coastguard Worker 						struct f2fs_comp_option)
94*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_DECOMPRESS_FILE        _IO(F2FS_IOCTL_MAGIC, 23)
95*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_COMPRESS_FILE          _IO(F2FS_IOCTL_MAGIC, 24)
96*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_START_ATOMIC_REPLACE	_IO(F2FS_IOCTL_MAGIC, 25)
97*59bfda1fSAndroid Build Coastguard Worker 
98*59bfda1fSAndroid Build Coastguard Worker #ifndef FSCRYPT_POLICY_V1
99*59bfda1fSAndroid Build Coastguard Worker #define FSCRYPT_POLICY_V1		0
100*59bfda1fSAndroid Build Coastguard Worker #define FSCRYPT_KEY_DESCRIPTOR_SIZE	8
101*59bfda1fSAndroid Build Coastguard Worker struct fscrypt_policy_v1 {
102*59bfda1fSAndroid Build Coastguard Worker 	__u8 version;
103*59bfda1fSAndroid Build Coastguard Worker 	__u8 contents_encryption_mode;
104*59bfda1fSAndroid Build Coastguard Worker 	__u8 filenames_encryption_mode;
105*59bfda1fSAndroid Build Coastguard Worker 	__u8 flags;
106*59bfda1fSAndroid Build Coastguard Worker 	__u8 master_key_descriptor[FSCRYPT_KEY_DESCRIPTOR_SIZE];
107*59bfda1fSAndroid Build Coastguard Worker };
108*59bfda1fSAndroid Build Coastguard Worker #endif
109*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_IOC_GET_ENCRYPTION_POLICY
110*59bfda1fSAndroid Build Coastguard Worker #define FS_IOC_GET_ENCRYPTION_POLICY		_IOW('f', 21, struct fscrypt_policy_v1)
111*59bfda1fSAndroid Build Coastguard Worker #endif
112*59bfda1fSAndroid Build Coastguard Worker 
113*59bfda1fSAndroid Build Coastguard Worker #ifndef FSCRYPT_POLICY_V2
114*59bfda1fSAndroid Build Coastguard Worker #define FSCRYPT_POLICY_V2		2
115*59bfda1fSAndroid Build Coastguard Worker #define FSCRYPT_KEY_IDENTIFIER_SIZE	16
116*59bfda1fSAndroid Build Coastguard Worker struct fscrypt_policy_v2 {
117*59bfda1fSAndroid Build Coastguard Worker 	__u8 version;
118*59bfda1fSAndroid Build Coastguard Worker 	__u8 contents_encryption_mode;
119*59bfda1fSAndroid Build Coastguard Worker 	__u8 filenames_encryption_mode;
120*59bfda1fSAndroid Build Coastguard Worker 	__u8 flags;
121*59bfda1fSAndroid Build Coastguard Worker 	__u8 __reserved[4];
122*59bfda1fSAndroid Build Coastguard Worker 	__u8 master_key_identifier[FSCRYPT_KEY_IDENTIFIER_SIZE];
123*59bfda1fSAndroid Build Coastguard Worker };
124*59bfda1fSAndroid Build Coastguard Worker /* Struct passed to FS_IOC_GET_ENCRYPTION_POLICY_EX */
125*59bfda1fSAndroid Build Coastguard Worker struct fscrypt_get_policy_ex_arg {
126*59bfda1fSAndroid Build Coastguard Worker 	__u64 policy_size; /* input/output */
127*59bfda1fSAndroid Build Coastguard Worker 	union {
128*59bfda1fSAndroid Build Coastguard Worker 		__u8 version;
129*59bfda1fSAndroid Build Coastguard Worker 		struct fscrypt_policy_v1 v1;
130*59bfda1fSAndroid Build Coastguard Worker 		struct fscrypt_policy_v2 v2;
131*59bfda1fSAndroid Build Coastguard Worker 	} policy; /* output */
132*59bfda1fSAndroid Build Coastguard Worker };
133*59bfda1fSAndroid Build Coastguard Worker #endif
134*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_IOC_GET_ENCRYPTION_POLICY_EX
135*59bfda1fSAndroid Build Coastguard Worker #define FS_IOC_GET_ENCRYPTION_POLICY_EX		_IOWR('f', 22, __u8[9]) /* size + version */
136*59bfda1fSAndroid Build Coastguard Worker #endif
137*59bfda1fSAndroid Build Coastguard Worker 
138*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_SET_ENCRYPTION_POLICY	FS_IOC_SET_ENCRYPTION_POLICY
139*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_GET_ENCRYPTION_POLICY	FS_IOC_GET_ENCRYPTION_POLICY
140*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_GET_ENCRYPTION_PWSALT	FS_IOC_GET_ENCRYPTION_PWSALT
141*59bfda1fSAndroid Build Coastguard Worker 
142*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_IOC_ENABLE_VERITY
143*59bfda1fSAndroid Build Coastguard Worker #define FS_IOC_ENABLE_VERITY    _IOW('f', 133, struct fsverity_enable_arg)
144*59bfda1fSAndroid Build Coastguard Worker #define FS_VERITY_HASH_ALG_SHA256       1
145*59bfda1fSAndroid Build Coastguard Worker struct fsverity_enable_arg {
146*59bfda1fSAndroid Build Coastguard Worker 	__u32 version;
147*59bfda1fSAndroid Build Coastguard Worker 	__u32 hash_algorithm;
148*59bfda1fSAndroid Build Coastguard Worker 	__u32 block_size;
149*59bfda1fSAndroid Build Coastguard Worker 	__u32 salt_size;
150*59bfda1fSAndroid Build Coastguard Worker 	__u64 salt_ptr;
151*59bfda1fSAndroid Build Coastguard Worker 	__u32 sig_size;
152*59bfda1fSAndroid Build Coastguard Worker 	__u32 __reserved1;
153*59bfda1fSAndroid Build Coastguard Worker 	__u64 sig_ptr;
154*59bfda1fSAndroid Build Coastguard Worker 	__u64 __reserved2[11];
155*59bfda1fSAndroid Build Coastguard Worker };
156*59bfda1fSAndroid Build Coastguard Worker #endif
157*59bfda1fSAndroid Build Coastguard Worker /*
158*59bfda1fSAndroid Build Coastguard Worker  * Inode flags
159*59bfda1fSAndroid Build Coastguard Worker  */
160*59bfda1fSAndroid Build Coastguard Worker #define F2FS_NOCOW_FL			0x00800000 /* Do not cow file */
161*59bfda1fSAndroid Build Coastguard Worker 
162*59bfda1fSAndroid Build Coastguard Worker /*
163*59bfda1fSAndroid Build Coastguard Worker  * should be same as XFS_IOC_GOINGDOWN.
164*59bfda1fSAndroid Build Coastguard Worker  * Flags for going down operation used by FS_IOC_GOINGDOWN
165*59bfda1fSAndroid Build Coastguard Worker  */
166*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_SHUTDOWN	_IOR('X', 125, __u32)	/* Shutdown */
167*59bfda1fSAndroid Build Coastguard Worker #define F2FS_GOING_DOWN_FULLSYNC	0x0	/* going down with full sync */
168*59bfda1fSAndroid Build Coastguard Worker #define F2FS_GOING_DOWN_METASYNC	0x1	/* going down with metadata */
169*59bfda1fSAndroid Build Coastguard Worker #define F2FS_GOING_DOWN_NOSYNC		0x2	/* going down */
170*59bfda1fSAndroid Build Coastguard Worker #define F2FS_GOING_DOWN_METAFLUSH	0x3	/* going down with meta flush */
171*59bfda1fSAndroid Build Coastguard Worker #define F2FS_GOING_DOWN_NEED_FSCK	0x4	/* going down to trigger fsck */
172*59bfda1fSAndroid Build Coastguard Worker #define F2FS_GOING_DOWN_MAX		0x5
173*59bfda1fSAndroid Build Coastguard Worker 
174*59bfda1fSAndroid Build Coastguard Worker #if defined(__KERNEL__) && defined(CONFIG_COMPAT)
175*59bfda1fSAndroid Build Coastguard Worker /*
176*59bfda1fSAndroid Build Coastguard Worker  * ioctl commands in 32 bit emulation
177*59bfda1fSAndroid Build Coastguard Worker  */
178*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC32_GETFLAGS		FS_IOC32_GETFLAGS
179*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC32_SETFLAGS		FS_IOC32_SETFLAGS
180*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC32_GETVERSION		FS_IOC32_GETVERSION
181*59bfda1fSAndroid Build Coastguard Worker #endif
182*59bfda1fSAndroid Build Coastguard Worker 
183*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_FSGETXATTR		FS_IOC_FSGETXATTR
184*59bfda1fSAndroid Build Coastguard Worker #define F2FS_IOC_FSSETXATTR		FS_IOC_FSSETXATTR
185*59bfda1fSAndroid Build Coastguard Worker 
186*59bfda1fSAndroid Build Coastguard Worker #define F2FS_SYSTEM_ADVISE_NAME	"system.advise"
187*59bfda1fSAndroid Build Coastguard Worker #define FADVISE_COLD_BIT	0x01
188*59bfda1fSAndroid Build Coastguard Worker #define FADVISE_LOST_PINO_BIT	0x02
189*59bfda1fSAndroid Build Coastguard Worker #define FADVISE_ENCRYPT_BIT	0x04
190*59bfda1fSAndroid Build Coastguard Worker #define FADVISE_ENC_NAME_BIT	0x08
191*59bfda1fSAndroid Build Coastguard Worker #define FADVISE_KEEP_SIZE_BIT	0x10
192*59bfda1fSAndroid Build Coastguard Worker #define FADVISE_HOT_BIT		0x20
193*59bfda1fSAndroid Build Coastguard Worker #define FADVISE_VERITY_BIT	0x40
194*59bfda1fSAndroid Build Coastguard Worker #define FADVISE_TRUNC_BIT	0x80
195*59bfda1fSAndroid Build Coastguard Worker 
196*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_IMMUTABLE_FL
197*59bfda1fSAndroid Build Coastguard Worker #define FS_IMMUTABLE_FL			0x00000010 /* Immutable file */
198*59bfda1fSAndroid Build Coastguard Worker #endif
199*59bfda1fSAndroid Build Coastguard Worker 
200*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_ENCRYPT_FL
201*59bfda1fSAndroid Build Coastguard Worker #define FS_ENCRYPT_FL			0x00000800 /* Encrypted file */
202*59bfda1fSAndroid Build Coastguard Worker #endif
203*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_VERITY_FL
204*59bfda1fSAndroid Build Coastguard Worker #define FS_VERITY_FL			0x00100000 /* Verity protected inode */
205*59bfda1fSAndroid Build Coastguard Worker #endif
206*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_INLINE_DATA_FL
207*59bfda1fSAndroid Build Coastguard Worker #define FS_INLINE_DATA_FL		0x10000000 /* Inline data for regular/symlink files */
208*59bfda1fSAndroid Build Coastguard Worker #endif
209*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_NOCOW_FL
210*59bfda1fSAndroid Build Coastguard Worker #define FS_NOCOW_FL			0x00800000 /* Do not cow file */
211*59bfda1fSAndroid Build Coastguard Worker #endif
212*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_NOCOMP_FL
213*59bfda1fSAndroid Build Coastguard Worker #define FS_NOCOMP_FL			0x00000400 /* Don't compress */
214*59bfda1fSAndroid Build Coastguard Worker #endif
215*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_COMPR_FL
216*59bfda1fSAndroid Build Coastguard Worker #define FS_COMPR_FL			0x00000004 /* Compress file */
217*59bfda1fSAndroid Build Coastguard Worker #endif
218*59bfda1fSAndroid Build Coastguard Worker #ifndef FS_CASEFOLD_FL
219*59bfda1fSAndroid Build Coastguard Worker #define FS_CASEFOLD_FL			0x40000000 /* Folder is case insensitive */
220*59bfda1fSAndroid Build Coastguard Worker #endif
221*59bfda1fSAndroid Build Coastguard Worker 
222*59bfda1fSAndroid Build Coastguard Worker struct f2fs_gc_range {
223*59bfda1fSAndroid Build Coastguard Worker 	u32 sync;
224*59bfda1fSAndroid Build Coastguard Worker 	u64 start;
225*59bfda1fSAndroid Build Coastguard Worker 	u64 len;
226*59bfda1fSAndroid Build Coastguard Worker };
227*59bfda1fSAndroid Build Coastguard Worker 
228*59bfda1fSAndroid Build Coastguard Worker struct f2fs_defragment {
229*59bfda1fSAndroid Build Coastguard Worker 	u64 start;
230*59bfda1fSAndroid Build Coastguard Worker 	u64 len;
231*59bfda1fSAndroid Build Coastguard Worker };
232*59bfda1fSAndroid Build Coastguard Worker 
233*59bfda1fSAndroid Build Coastguard Worker struct f2fs_move_range {
234*59bfda1fSAndroid Build Coastguard Worker 	u32 dst_fd;		/* destination fd */
235*59bfda1fSAndroid Build Coastguard Worker 	u64 pos_in;		/* start position in src_fd */
236*59bfda1fSAndroid Build Coastguard Worker 	u64 pos_out;		/* start position in dst_fd */
237*59bfda1fSAndroid Build Coastguard Worker 	u64 len;		/* size to move */
238*59bfda1fSAndroid Build Coastguard Worker };
239*59bfda1fSAndroid Build Coastguard Worker 
240*59bfda1fSAndroid Build Coastguard Worker struct f2fs_flush_device {
241*59bfda1fSAndroid Build Coastguard Worker 	u32 dev_num;		/* device number to flush */
242*59bfda1fSAndroid Build Coastguard Worker 	u32 segments;		/* # of segments to flush */
243*59bfda1fSAndroid Build Coastguard Worker };
244*59bfda1fSAndroid Build Coastguard Worker 
245*59bfda1fSAndroid Build Coastguard Worker struct f2fs_comp_option {
246*59bfda1fSAndroid Build Coastguard Worker 	u8 algorithm;
247*59bfda1fSAndroid Build Coastguard Worker 	u8 log_cluster_size;
248*59bfda1fSAndroid Build Coastguard Worker };
249