diff options
Diffstat (limited to 'fs/ext4/ext4.h')
| -rw-r--r-- | fs/ext4/ext4.h | 69 | 
1 files changed, 69 insertions, 0 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index a5ae87c5140..61ecf059f70 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -2456,6 +2456,75 @@ extern const struct file_operations ext4_file_operations;  extern loff_t ext4_llseek(struct file *file, loff_t offset, int origin);  extern void ext4_unwritten_wait(struct inode *inode); +/* inline.c */ +extern int ext4_has_inline_data(struct inode *inode); +extern int ext4_get_inline_size(struct inode *inode); +extern int ext4_get_max_inline_size(struct inode *inode); +extern int ext4_find_inline_data_nolock(struct inode *inode); +extern void ext4_write_inline_data(struct inode *inode, +				   struct ext4_iloc *iloc, +				   void *buffer, loff_t pos, +				   unsigned int len); +extern int ext4_prepare_inline_data(handle_t *handle, struct inode *inode, +				    unsigned int len); +extern int ext4_init_inline_data(handle_t *handle, struct inode *inode, +				 unsigned int len); +extern int ext4_destroy_inline_data(handle_t *handle, struct inode *inode); + +extern int ext4_readpage_inline(struct inode *inode, struct page *page); +extern int ext4_try_to_write_inline_data(struct address_space *mapping, +					 struct inode *inode, +					 loff_t pos, unsigned len, +					 unsigned flags, +					 struct page **pagep); +extern int ext4_write_inline_data_end(struct inode *inode, +				      loff_t pos, unsigned len, +				      unsigned copied, +				      struct page *page); +extern struct buffer_head * +ext4_journalled_write_inline_data(struct inode *inode, +				  unsigned len, +				  struct page *page); +extern int ext4_da_write_inline_data_begin(struct address_space *mapping, +					   struct inode *inode, +					   loff_t pos, unsigned len, +					   unsigned flags, +					   struct page **pagep, +					   void **fsdata); +extern int ext4_da_write_inline_data_end(struct inode *inode, loff_t pos, +					 unsigned len, unsigned copied, +					 struct page *page); +extern int ext4_try_add_inline_entry(handle_t *handle, struct dentry *dentry, +				     struct inode *inode); +extern int ext4_try_create_inline_dir(handle_t *handle, +				      struct inode *parent, +				      struct inode *inode); +extern int ext4_read_inline_dir(struct file *filp, +				void *dirent, filldir_t filldir, +				int *has_inline_data); +extern struct buffer_head *ext4_find_inline_entry(struct inode *dir, +					const struct qstr *d_name, +					struct ext4_dir_entry_2 **res_dir, +					int *has_inline_data); +extern int ext4_delete_inline_entry(handle_t *handle, +				    struct inode *dir, +				    struct ext4_dir_entry_2 *de_del, +				    struct buffer_head *bh, +				    int *has_inline_data); +extern int empty_inline_dir(struct inode *dir, int *has_inline_data); +extern struct buffer_head *ext4_get_first_inline_block(struct inode *inode, +					struct ext4_dir_entry_2 **parent_de, +					int *retval); +extern int ext4_inline_data_fiemap(struct inode *inode, +				   struct fiemap_extent_info *fieinfo, +				   int *has_inline); +extern int ext4_try_to_evict_inline_data(handle_t *handle, +					 struct inode *inode, +					 int needed); +extern void ext4_inline_data_truncate(struct inode *inode, int *has_inline); + +extern int ext4_convert_inline_data(struct inode *inode); +  /* namei.c */  extern const struct inode_operations ext4_dir_inode_operations;  extern const struct inode_operations ext4_special_inode_operations;  |