Contributors: 17
Author Tokens Token Proportion Commits Commit Proportion
Filipe David Borba Manana 63 20.32% 13 19.70%
Josef Bacik 43 13.87% 9 13.64%
Chris Mason 42 13.55% 11 16.67%
Omar Sandoval 35 11.29% 2 3.03%
Josef Whiter 25 8.06% 3 4.55%
Johannes Thumshirn 22 7.10% 1 1.52%
Zheng Yan 17 5.48% 4 6.06%
David Sterba 17 5.48% 3 4.55%
Nikolay Borisov 10 3.23% 7 10.61%
Boris Burkov 8 2.58% 2 3.03%
Yan Zheng 6 1.94% 1 1.52%
Goldwyn Rodrigues 6 1.94% 2 3.03%
Qu Wenruo 6 1.94% 3 4.55%
Jan Kara 5 1.61% 1 1.52%
Sage Weil 2 0.65% 1 1.52%
Ilya Dryomov 2 0.65% 2 3.03%
Alexey Dobriyan 1 0.32% 1 1.52%
Total 310 66

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
/* SPDX-License-Identifier: GPL-2.0 */

#ifndef BTRFS_FILE_H
#define BTRFS_FILE_H

#include <linux/types.h>

struct file;
struct extent_state;
struct kiocb;
struct iov_iter;
struct page;
struct btrfs_ioctl_encoded_io_args;
struct btrfs_drop_extents_args;
struct btrfs_inode;
struct btrfs_root;
struct btrfs_path;
struct btrfs_replace_extent_info;
struct btrfs_trans_handle;

extern const struct file_operations btrfs_file_operations;

int btrfs_sync_file(struct file *file, loff_t start, loff_t end, int datasync);
int btrfs_drop_extents(struct btrfs_trans_handle *trans,
		       struct btrfs_root *root, struct btrfs_inode *inode,
		       struct btrfs_drop_extents_args *args);
int btrfs_replace_file_extents(struct btrfs_inode *inode,
			   struct btrfs_path *path, const u64 start,
			   const u64 end,
			   struct btrfs_replace_extent_info *extent_info,
			   struct btrfs_trans_handle **trans_out);
int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
			      struct btrfs_inode *inode, u64 start, u64 end);
ssize_t btrfs_do_write_iter(struct kiocb *iocb, struct iov_iter *from,
			    const struct btrfs_ioctl_encoded_io_args *encoded);
int btrfs_release_file(struct inode *inode, struct file *file);
int btrfs_dirty_folio(struct btrfs_inode *inode, struct folio *folio, loff_t pos,
		      size_t write_bytes, struct extent_state **cached, bool noreserve);
int btrfs_fdatawrite_range(struct btrfs_inode *inode, loff_t start, loff_t end);
int btrfs_check_nocow_lock(struct btrfs_inode *inode, loff_t pos,
			   size_t *write_bytes, bool nowait);
void btrfs_check_nocow_unlock(struct btrfs_inode *inode);
bool btrfs_find_delalloc_in_range(struct btrfs_inode *inode, u64 start, u64 end,
				  struct extent_state **cached_state,
				  u64 *delalloc_start_ret, u64 *delalloc_end_ret);
int btrfs_write_check(struct kiocb *iocb, size_t count);
ssize_t btrfs_buffered_write(struct kiocb *iocb, struct iov_iter *i);

#endif