X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fxfs%2Flinux-2.6%2Fxfs_vnode.h;h=3466465fa8d5ca5aa6ef923a3e442e0a2d82b9f7;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=af0b65fe5136e507637707ba1b9e3586133b2123;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/fs/xfs/linux-2.6/xfs_vnode.h b/fs/xfs/linux-2.6/xfs_vnode.h index af0b65fe5..3466465fa 100644 --- a/fs/xfs/linux-2.6/xfs_vnode.h +++ b/fs/xfs/linux-2.6/xfs_vnode.h @@ -194,7 +194,7 @@ typedef ssize_t (*vop_sendfile_t)(bhv_desc_t *, struct file *, loff_t *, int, size_t, read_actor_t, void *, struct cred *); typedef int (*vop_ioctl_t)(bhv_desc_t *, struct inode *, struct file *, - int, unsigned int, unsigned long); + int, unsigned int, void __user *); typedef int (*vop_getattr_t)(bhv_desc_t *, struct vattr *, int, struct cred *); typedef int (*vop_setattr_t)(bhv_desc_t *, struct vattr *, int, @@ -532,6 +532,7 @@ typedef struct vnode_map { extern void vn_purge(struct vnode *, vmap_t *); extern vnode_t *vn_get(struct vnode *, vmap_t *); extern int vn_revalidate(struct vnode *); +extern void vn_revalidate_core(struct vnode *, vattr_t *); extern void vn_remove(struct vnode *); static inline int vn_count(struct vnode *vp) @@ -593,6 +594,19 @@ static __inline__ void vn_flagclr(struct vnode *vp, uint flag) #define VN_ATIMESET(vp, tvp) (LINVFS_GET_IP(vp)->i_atime = *(tvp)) #define VN_CTIMESET(vp, tvp) (LINVFS_GET_IP(vp)->i_ctime = *(tvp)) +/* + * Dealing with bad inodes + */ +static inline void vn_mark_bad(struct vnode *vp) +{ + make_bad_inode(LINVFS_GET_IP(vp)); +} + +static inline int VN_BAD(struct vnode *vp) +{ + return is_bad_inode(LINVFS_GET_IP(vp)); +} + /* * Some useful predicates. */