2006-01-16 19:50:04 +03:00
/*
* Copyright ( C ) Sistina Software , Inc . 1997 - 2003 All rights reserved .
2006-05-18 23:09:15 +04:00
* Copyright ( C ) 2004 - 2006 Red Hat , Inc . All rights reserved .
2006-01-16 19:50:04 +03:00
*
* This copyrighted material is made available to anyone wishing to use ,
* modify , copy , or redistribute it subject to the terms and conditions
2006-09-01 19:05:15 +04:00
* of the GNU General Public License version 2.
2006-01-16 19:50:04 +03:00
*/
# ifndef __INODE_DOT_H__
# define __INODE_DOT_H__
static inline int gfs2_is_stuffed ( struct gfs2_inode * ip )
{
return ! ip - > i_di . di_height ;
}
static inline int gfs2_is_jdata ( struct gfs2_inode * ip )
{
return ip - > i_di . di_flags & GFS2_DIF_JDATA ;
}
2006-02-08 14:50:51 +03:00
static inline int gfs2_is_dir ( struct gfs2_inode * ip )
{
2006-11-01 20:22:46 +03:00
return S_ISDIR ( ip - > i_inode . i_mode ) ;
2006-02-08 14:50:51 +03:00
}
2006-11-08 23:45:46 +03:00
static inline void gfs2_set_inode_blocks ( struct inode * inode )
{
struct gfs2_inode * ip = GFS2_I ( inode ) ;
inode - > i_blocks = ip - > i_di . di_blocks < <
( GFS2_SB ( inode ) - > sd_sb . sb_bsize_shift - GFS2_BASIC_BLOCK_SHIFT ) ;
}
2006-01-16 19:50:04 +03:00
void gfs2_inode_attr_in ( struct gfs2_inode * ip ) ;
2006-10-14 06:51:24 +04:00
struct inode * gfs2_inode_lookup ( struct super_block * sb , struct gfs2_inum_host * inum , unsigned type ) ;
struct inode * gfs2_ilookup ( struct super_block * sb , struct gfs2_inum_host * inum ) ;
2006-01-16 19:50:04 +03:00
int gfs2_inode_refresh ( struct gfs2_inode * ip ) ;
2006-06-14 23:32:57 +04:00
int gfs2_dinode_dealloc ( struct gfs2_inode * inode ) ;
2006-01-16 19:50:04 +03:00
int gfs2_change_nlink ( struct gfs2_inode * ip , int diff ) ;
2007-01-18 23:56:34 +03:00
int gfs2_change_nlink_i ( struct gfs2_inode * ip , int diff ) ;
2006-09-25 17:26:04 +04:00
struct inode * gfs2_lookupi ( struct inode * dir , const struct qstr * name ,
2006-06-14 23:32:57 +04:00
int is_root , struct nameidata * nd ) ;
struct inode * gfs2_createi ( struct gfs2_holder * ghs , const struct qstr * name ,
2006-11-01 05:45:08 +03:00
unsigned int mode , dev_t dev ) ;
2006-06-14 23:32:57 +04:00
int gfs2_rmdiri ( struct gfs2_inode * dip , const struct qstr * name ,
struct gfs2_inode * ip ) ;
int gfs2_unlink_ok ( struct gfs2_inode * dip , const struct qstr * name ,
2006-01-16 19:50:04 +03:00
struct gfs2_inode * ip ) ;
int gfs2_ok_to_move ( struct gfs2_inode * this , struct gfs2_inode * to ) ;
int gfs2_readlinki ( struct gfs2_inode * ip , char * * buf , unsigned int * len ) ;
int gfs2_glock_nq_atime ( struct gfs2_holder * gh ) ;
int gfs2_setattr_simple ( struct gfs2_inode * ip , struct iattr * attr ) ;
2006-03-20 20:30:04 +03:00
struct inode * gfs2_lookup_simple ( struct inode * dip , const char * name ) ;
2006-01-16 19:50:04 +03:00
# endif /* __INODE_DOT_H__ */