xref: /linux/fs/jfs/jfs_inode.h (revision 02c24a82187d5a628c68edfe71ae60dc135cd178)
11da177e4SLinus Torvalds /*
21868f4aaSDave Kleikamp  *   Copyright (C) International Business Machines Corp., 2000-2001
31da177e4SLinus Torvalds  *
41da177e4SLinus Torvalds  *   This program is free software;  you can redistribute it and/or modify
51da177e4SLinus Torvalds  *   it under the terms of the GNU General Public License as published by
61da177e4SLinus Torvalds  *   the Free Software Foundation; either version 2 of the License, or
71da177e4SLinus Torvalds  *   (at your option) any later version.
81da177e4SLinus Torvalds  *
91da177e4SLinus Torvalds  *   This program is distributed in the hope that it will be useful,
101da177e4SLinus Torvalds  *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
111da177e4SLinus Torvalds  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
121da177e4SLinus Torvalds  *   the GNU General Public License for more details.
131da177e4SLinus Torvalds  *
141da177e4SLinus Torvalds  *   You should have received a copy of the GNU General Public License
151da177e4SLinus Torvalds  *   along with this program;  if not, write to the Free Software
161da177e4SLinus Torvalds  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
171da177e4SLinus Torvalds  */
181da177e4SLinus Torvalds #ifndef	_H_JFS_INODE
191da177e4SLinus Torvalds #define _H_JFS_INODE
201da177e4SLinus Torvalds 
21d425de70SChristoph Hellwig struct fid;
22d425de70SChristoph Hellwig 
231da177e4SLinus Torvalds extern struct inode *ialloc(struct inode *, umode_t);
24*02c24a82SJosef Bacik extern int jfs_fsync(struct file *, loff_t, loff_t, int);
25baab81faSAndi Kleen extern long jfs_ioctl(struct file *, unsigned int, unsigned long);
26ef1fc2f0SAndi Kleen extern long jfs_compat_ioctl(struct file *, unsigned int, unsigned long);
27eab1df71SDavid Howells extern struct inode *jfs_iget(struct super_block *, unsigned long);
281868f4aaSDave Kleikamp extern int jfs_commit_inode(struct inode *, int);
29a9185b41SChristoph Hellwig extern int jfs_write_inode(struct inode *, struct writeback_control *);
3062aff86fSAl Viro extern void jfs_evict_inode(struct inode *);
31aa385729SChristoph Hellwig extern void jfs_dirty_inode(struct inode *, int);
321868f4aaSDave Kleikamp extern void jfs_truncate(struct inode *);
331868f4aaSDave Kleikamp extern void jfs_truncate_nolock(struct inode *, loff_t);
341868f4aaSDave Kleikamp extern void jfs_free_zero_link(struct inode *);
351868f4aaSDave Kleikamp extern struct dentry *jfs_get_parent(struct dentry *dentry);
363e2221c7SDave Kleikamp extern void jfs_get_inode_flags(struct jfs_inode_info *);
37d425de70SChristoph Hellwig extern struct dentry *jfs_fh_to_dentry(struct super_block *sb, struct fid *fid,
38d425de70SChristoph Hellwig 	int fh_len, int fh_type);
39d425de70SChristoph Hellwig extern struct dentry *jfs_fh_to_parent(struct super_block *sb, struct fid *fid,
40d425de70SChristoph Hellwig 	int fh_len, int fh_type);
41fa3241d2SHerbert Poetzl extern void jfs_set_inode_flags(struct inode *);
42115ff50bSDave Kleikamp extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int);
43759bfee6SChristoph Hellwig extern int jfs_setattr(struct dentry *, struct iattr *);
441da177e4SLinus Torvalds 
45f5e54d6eSChristoph Hellwig extern const struct address_space_operations jfs_aops;
4692e1d5beSArjan van de Ven extern const struct inode_operations jfs_dir_inode_operations;
474b6f5d20SArjan van de Ven extern const struct file_operations jfs_dir_operations;
4892e1d5beSArjan van de Ven extern const struct inode_operations jfs_file_inode_operations;
494b6f5d20SArjan van de Ven extern const struct file_operations jfs_file_operations;
5092e1d5beSArjan van de Ven extern const struct inode_operations jfs_symlink_inode_operations;
51c7f2e1f0SDmitry Monakhov extern const struct inode_operations jfs_fast_symlink_inode_operations;
52ad28b4efSAl Viro extern const struct dentry_operations jfs_ci_dentry_operations;
531da177e4SLinus Torvalds #endif				/* _H_JFS_INODE */
54