1 /* SPDX-License-Identifier: GPL-2.0 */
6 #include <linux/types.h>
7 #include <linux/compiler_types.h>
13 struct btrfs_trans_handle
;
14 struct btrfs_ioctl_defrag_range_args
;
16 int btrfs_defrag_file(struct inode
*inode
, struct file_ra_state
*ra
,
17 struct btrfs_ioctl_defrag_range_args
*range
,
18 u64 newer_than
, unsigned long max_to_defrag
);
19 int __init
btrfs_auto_defrag_init(void);
20 void __cold
btrfs_auto_defrag_exit(void);
21 void btrfs_add_inode_defrag(struct btrfs_inode
*inode
, u32 extent_thresh
);
22 int btrfs_run_defrag_inodes(struct btrfs_fs_info
*fs_info
);
23 void btrfs_cleanup_defrag_inodes(struct btrfs_fs_info
*fs_info
);
24 int btrfs_defrag_root(struct btrfs_root
*root
);
26 static inline int btrfs_defrag_cancelled(struct btrfs_fs_info
*fs_info
)
28 return signal_pending(current
);