Merge tag 'mmc-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
[linux-block.git] / fs / btrfs / file.h
CommitLineData
af142b6f
JB
1/* SPDX-License-Identifier: GPL-2.0 */
2
3#ifndef BTRFS_FILE_H
4#define BTRFS_FILE_H
5
6extern const struct file_operations btrfs_file_operations;
7
8int btrfs_sync_file(struct file *file, loff_t start, loff_t end, int datasync);
9int btrfs_drop_extents(struct btrfs_trans_handle *trans,
10 struct btrfs_root *root, struct btrfs_inode *inode,
11 struct btrfs_drop_extents_args *args);
12int btrfs_replace_file_extents(struct btrfs_inode *inode,
13 struct btrfs_path *path, const u64 start,
14 const u64 end,
15 struct btrfs_replace_extent_info *extent_info,
16 struct btrfs_trans_handle **trans_out);
17int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
18 struct btrfs_inode *inode, u64 start, u64 end);
19ssize_t btrfs_do_write_iter(struct kiocb *iocb, struct iov_iter *from,
20 const struct btrfs_ioctl_encoded_io_args *encoded);
21int btrfs_release_file(struct inode *inode, struct file *file);
22int btrfs_dirty_pages(struct btrfs_inode *inode, struct page **pages,
23 size_t num_pages, loff_t pos, size_t write_bytes,
24 struct extent_state **cached, bool noreserve);
25int btrfs_fdatawrite_range(struct inode *inode, loff_t start, loff_t end);
26int btrfs_check_nocow_lock(struct btrfs_inode *inode, loff_t pos,
27 size_t *write_bytes, bool nowait);
28void btrfs_check_nocow_unlock(struct btrfs_inode *inode);
29bool btrfs_find_delalloc_in_range(struct btrfs_inode *inode, u64 start, u64 end,
b3e744fe 30 struct extent_state **cached_state,
af142b6f
JB
31 u64 *delalloc_start_ret, u64 *delalloc_end_ret);
32
33#endif