cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

file.h (2403B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * file.h
      4 *
      5 * Function prototypes
      6 *
      7 * Copyright (C) 2002, 2004 Oracle.  All rights reserved.
      8 */
      9
     10#ifndef OCFS2_FILE_H
     11#define OCFS2_FILE_H
     12
     13extern const struct file_operations ocfs2_fops;
     14extern const struct file_operations ocfs2_dops;
     15extern const struct file_operations ocfs2_fops_no_plocks;
     16extern const struct file_operations ocfs2_dops_no_plocks;
     17extern const struct inode_operations ocfs2_file_iops;
     18extern const struct inode_operations ocfs2_special_file_iops;
     19struct ocfs2_alloc_context;
     20enum ocfs2_alloc_restarted;
     21
     22struct ocfs2_file_private {
     23	struct file		*fp_file;
     24	struct mutex		fp_mutex;
     25	struct ocfs2_lock_res	fp_flock;
     26};
     27
     28int ocfs2_add_inode_data(struct ocfs2_super *osb,
     29			 struct inode *inode,
     30			 u32 *logical_offset,
     31			 u32 clusters_to_add,
     32			 int mark_unwritten,
     33			 struct buffer_head *fe_bh,
     34			 handle_t *handle,
     35			 struct ocfs2_alloc_context *data_ac,
     36			 struct ocfs2_alloc_context *meta_ac,
     37			 enum ocfs2_alloc_restarted *reason_ret);
     38int ocfs2_set_inode_size(handle_t *handle,
     39		struct inode *inode,
     40		struct buffer_head *fe_bh,
     41		u64 new_i_size);
     42int ocfs2_simple_size_update(struct inode *inode,
     43			     struct buffer_head *di_bh,
     44			     u64 new_i_size);
     45int ocfs2_truncate_file(struct inode *inode,
     46		struct buffer_head *di_bh,
     47		u64 new_i_size);
     48int ocfs2_extend_no_holes(struct inode *inode, struct buffer_head *di_bh,
     49			  u64 new_i_size, u64 zero_to);
     50int ocfs2_zero_extend(struct inode *inode, struct buffer_head *di_bh,
     51		      loff_t zero_to);
     52int ocfs2_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
     53		  struct iattr *attr);
     54int ocfs2_getattr(struct user_namespace *mnt_userns, const struct path *path,
     55		  struct kstat *stat, u32 request_mask, unsigned int flags);
     56int ocfs2_permission(struct user_namespace *mnt_userns,
     57		     struct inode *inode,
     58		     int mask);
     59
     60int ocfs2_should_update_atime(struct inode *inode,
     61			      struct vfsmount *vfsmnt);
     62int ocfs2_update_inode_atime(struct inode *inode,
     63			     struct buffer_head *bh);
     64
     65int ocfs2_change_file_space(struct file *file, unsigned int cmd,
     66			    struct ocfs2_space_resv *sr);
     67
     68int ocfs2_check_range_for_refcount(struct inode *inode, loff_t pos,
     69				   size_t count);
     70int ocfs2_remove_inode_range(struct inode *inode,
     71			     struct buffer_head *di_bh, u64 byte_start,
     72			     u64 byte_len);
     73#endif /* OCFS2_FILE_H */