1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /* -*- mode: c; c-basic-offset: 8; -*-
3 * vim: noexpandtab sw=8 ts=8 sts=0:
9 * Copyright (C) 2002, 2004 Oracle. All rights reserved.
15 extern const struct file_operations ocfs2_fops
;
16 extern const struct file_operations ocfs2_dops
;
17 extern const struct file_operations ocfs2_fops_no_plocks
;
18 extern const struct file_operations ocfs2_dops_no_plocks
;
19 extern const struct inode_operations ocfs2_file_iops
;
20 extern const struct inode_operations ocfs2_special_file_iops
;
21 struct ocfs2_alloc_context
;
22 enum ocfs2_alloc_restarted
;
24 struct ocfs2_file_private
{
26 struct mutex fp_mutex
;
27 struct ocfs2_lock_res fp_flock
;
30 int ocfs2_add_inode_data(struct ocfs2_super
*osb
,
35 struct buffer_head
*fe_bh
,
37 struct ocfs2_alloc_context
*data_ac
,
38 struct ocfs2_alloc_context
*meta_ac
,
39 enum ocfs2_alloc_restarted
*reason_ret
);
40 int ocfs2_set_inode_size(handle_t
*handle
,
42 struct buffer_head
*fe_bh
,
44 int ocfs2_simple_size_update(struct inode
*inode
,
45 struct buffer_head
*di_bh
,
47 int ocfs2_truncate_file(struct inode
*inode
,
48 struct buffer_head
*di_bh
,
50 int ocfs2_extend_no_holes(struct inode
*inode
, struct buffer_head
*di_bh
,
51 u64 new_i_size
, u64 zero_to
);
52 int ocfs2_zero_extend(struct inode
*inode
, struct buffer_head
*di_bh
,
54 int ocfs2_setattr(struct dentry
*dentry
, struct iattr
*attr
);
55 int ocfs2_getattr(const struct path
*path
, struct kstat
*stat
,
56 u32 request_mask
, unsigned int flags
);
57 int ocfs2_permission(struct inode
*inode
, int mask
);
59 int ocfs2_should_update_atime(struct inode
*inode
,
60 struct vfsmount
*vfsmnt
);
61 int ocfs2_update_inode_atime(struct inode
*inode
,
62 struct buffer_head
*bh
);
64 int ocfs2_change_file_space(struct file
*file
, unsigned int cmd
,
65 struct ocfs2_space_resv
*sr
);
67 int ocfs2_check_range_for_refcount(struct inode
*inode
, loff_t pos
,
69 int ocfs2_remove_inode_range(struct inode
*inode
,
70 struct buffer_head
*di_bh
, u64 byte_start
,
72 #endif /* OCFS2_FILE_H */