btrfs_inode.h (8610ba7eab8f8dc7d75cfc66ff5b1237c57239e2) btrfs_inode.h (9aa29a20b70097213d10e03a452366ceea72fc02)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2007 Oracle. All rights reserved.
4 */
5
6#ifndef BTRFS_INODE_H
7#define BTRFS_INODE_H
8

--- 596 unchanged lines hidden (view full) ---

605 u64 file_offset, u64 disk_bytenr,
606 u64 disk_io_size,
607 struct page **pages);
608ssize_t btrfs_encoded_read(struct kiocb *iocb, struct iov_iter *iter,
609 struct btrfs_ioctl_encoded_io_args *encoded);
610ssize_t btrfs_do_encoded_write(struct kiocb *iocb, struct iov_iter *from,
611 const struct btrfs_ioctl_encoded_io_args *encoded);
612
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2007 Oracle. All rights reserved.
4 */
5
6#ifndef BTRFS_INODE_H
7#define BTRFS_INODE_H
8

--- 596 unchanged lines hidden (view full) ---

605 u64 file_offset, u64 disk_bytenr,
606 u64 disk_io_size,
607 struct page **pages);
608ssize_t btrfs_encoded_read(struct kiocb *iocb, struct iov_iter *iter,
609 struct btrfs_ioctl_encoded_io_args *encoded);
610ssize_t btrfs_do_encoded_write(struct kiocb *iocb, struct iov_iter *from,
611 const struct btrfs_ioctl_encoded_io_args *encoded);
612
613ssize_t btrfs_dio_read(struct kiocb *iocb, struct iov_iter *iter,
614 size_t done_before);
615struct iomap_dio *btrfs_dio_write(struct kiocb *iocb, struct iov_iter *iter,
616 size_t done_before);
617struct btrfs_inode *btrfs_find_first_inode(struct btrfs_root *root, u64 min_ino);
618
619extern const struct dentry_operations btrfs_dentry_operations;
620
621/* Inode locking type flags, by default the exclusive lock is taken. */
622enum btrfs_ilock_type {
623 ENUM_BIT(BTRFS_ILOCK_SHARED),
624 ENUM_BIT(BTRFS_ILOCK_TRY),
625 ENUM_BIT(BTRFS_ILOCK_MMAP),
626};
627
628int btrfs_inode_lock(struct btrfs_inode *inode, unsigned int ilock_flags);
629void btrfs_inode_unlock(struct btrfs_inode *inode, unsigned int ilock_flags);
630void btrfs_update_inode_bytes(struct btrfs_inode *inode, const u64 add_bytes,
631 const u64 del_bytes);
632void btrfs_assert_inode_range_clean(struct btrfs_inode *inode, u64 start, u64 end);
613struct btrfs_inode *btrfs_find_first_inode(struct btrfs_root *root, u64 min_ino);
614
615extern const struct dentry_operations btrfs_dentry_operations;
616
617/* Inode locking type flags, by default the exclusive lock is taken. */
618enum btrfs_ilock_type {
619 ENUM_BIT(BTRFS_ILOCK_SHARED),
620 ENUM_BIT(BTRFS_ILOCK_TRY),
621 ENUM_BIT(BTRFS_ILOCK_MMAP),
622};
623
624int btrfs_inode_lock(struct btrfs_inode *inode, unsigned int ilock_flags);
625void btrfs_inode_unlock(struct btrfs_inode *inode, unsigned int ilock_flags);
626void btrfs_update_inode_bytes(struct btrfs_inode *inode, const u64 add_bytes,
627 const u64 del_bytes);
628void btrfs_assert_inode_range_clean(struct btrfs_inode *inode, u64 start, u64 end);
629u64 btrfs_get_extent_allocation_hint(struct btrfs_inode *inode, u64 start,
630 u64 num_bytes);
631struct extent_map *btrfs_create_io_em(struct btrfs_inode *inode, u64 start,
632 const struct btrfs_file_extent *file_extent,
633 int type);
633
634#endif
634
635#endif