[XFS] kill struct bhv_vnode
authorChristoph Hellwig <hch@infradead.org>
Wed, 29 Aug 2007 01:53:12 +0000 (11:53 +1000)
committerTim Shimmin <tes@chook.melbourne.sgi.com>
Tue, 16 Oct 2007 01:40:24 +0000 (11:40 +1000)
Now that struct bhv_vnode is empty we can just kill it. Retain bhv_vnode_t
as a typedef for struct inode for the time being until all the fallout is
cleaned up.

SGI-PV: 969608
SGI-Modid: xfs-linux-melb:xfs-kern:29500a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
12 files changed:
fs/xfs/linux-2.6/xfs_iops.c
fs/xfs/linux-2.6/xfs_lrw.h
fs/xfs/linux-2.6/xfs_super.c
fs/xfs/linux-2.6/xfs_vfs.c
fs/xfs/linux-2.6/xfs_vfs.h
fs/xfs/linux-2.6/xfs_vnode.h
fs/xfs/quota/xfs_qm_bhv.c
fs/xfs/xfs_acl.c
fs/xfs/xfs_acl.h
fs/xfs/xfs_attr.h
fs/xfs/xfs_inode.h
fs/xfs/xfs_mount.h

index 98d5a7e13bd5126feba8e3875a16621294135dd9..59ba1dc65fa65f948dcdaaf07a5239cec6723103 100644 (file)
@@ -65,9 +65,8 @@ xfs_synchronize_atime(
 
        vp = XFS_ITOV_NULL(ip);
        if (vp) {
-               struct inode *inode = &vp->v_inode;
-               ip->i_d.di_atime.t_sec = (__int32_t)inode->i_atime.tv_sec;
-               ip->i_d.di_atime.t_nsec = (__int32_t)inode->i_atime.tv_nsec;
+               ip->i_d.di_atime.t_sec = (__int32_t)vp->i_atime.tv_sec;
+               ip->i_d.di_atime.t_nsec = (__int32_t)vp->i_atime.tv_nsec;
        }
 }
 
@@ -327,7 +326,7 @@ xfs_vn_mknod(
                if (!error) {
                        error = _ACL_INHERIT(vp, &vattr, default_acl);
                        if (!error)
-                               xfs_iflags_set(XFS_I(&vp->v_inode), XFS_IMODIFIED);
+                               xfs_iflags_set(XFS_I(vp), XFS_IMODIFIED);
                        else
                                xfs_cleanup_inode(dir, vp, dentry, mode);
                }
index fa7cefa86a826fba18a9be8b39e0df84d518221c..4cd85c3360f52125c4018df2440ba8b40f1096a2 100644 (file)
@@ -19,7 +19,6 @@
 #define __XFS_LRW_H__
 
 struct bhv_desc;
-struct bhv_vnode;
 struct xfs_mount;
 struct xfs_iocore;
 struct xfs_inode;
@@ -75,7 +74,7 @@ extern int xfsbdstrat(struct xfs_mount *, struct xfs_buf *);
 extern int xfs_bdstrat_cb(struct xfs_buf *);
 extern int xfs_dev_is_read_only(struct xfs_mount *, char *);
 
-extern int xfs_zero_eof(struct bhv_vnode *, struct xfs_iocore *, xfs_off_t,
+extern int xfs_zero_eof(struct inode *, struct xfs_iocore *, xfs_off_t,
                                xfs_fsize_t);
 
 #endif /* __XFS_LRW_H__ */
index bb0c4a932fd73a77ab45573142d76652fcb4ea3a..24073f8a292bb60dad96c20be592a377b7f51bf2 100644 (file)
@@ -781,7 +781,7 @@ xfs_fs_fill_super(
        void                    *data,
        int                     silent)
 {
-       struct bhv_vnode        *rootvp;
+       struct inode            *rootvp;
        struct bhv_vfs          *vfsp = vfs_allocate(sb);
        struct xfs_mount_args   *args = xfs_args_allocate(sb, silent);
        struct kstatfs          statvfs;
index 0dc87cd20229514bb15b658f3f071531a25d335c..c5ec272cdf220030e452eacdbd5204052d544ad6 100644 (file)
@@ -103,7 +103,7 @@ vfs_mntupdate(
 int
 vfs_root(
        struct bhv_desc         *bdp,
-       struct bhv_vnode        **vpp)
+       bhv_vnode_t             **vpp)
 {
        struct bhv_desc         *next = bdp;
 
@@ -117,7 +117,7 @@ int
 vfs_statvfs(
        struct bhv_desc         *bdp,
        bhv_statvfs_t           *statp,
-       struct bhv_vnode        *vp)
+       bhv_vnode_t             *vp)
 {
        struct bhv_desc         *next = bdp;
 
@@ -144,7 +144,7 @@ vfs_sync(
 int
 vfs_vget(
        struct bhv_desc         *bdp,
-       struct bhv_vnode        **vpp,
+       bhv_vnode_t             **vpp,
        struct fid              *fidp)
 {
        struct bhv_desc         *next = bdp;
@@ -186,7 +186,7 @@ vfs_quotactl(
 void
 vfs_init_vnode(
        struct bhv_desc         *bdp,
-       struct bhv_vnode        *vp,
+       bhv_vnode_t             *vp,
        struct xfs_inode        *ip,
        int                     unlock)
 {
index 75994e1318bc0d30d767188640d6fac50f5b9e77..768ffa96e62bad94e883e74a561ddf864cdd3aaf 100644 (file)
@@ -22,7 +22,7 @@
 #include "xfs_fs.h"
 
 struct bhv_vfs;
-struct bhv_vnode;
+struct inode;
 
 struct fid;
 struct cred;
@@ -124,15 +124,15 @@ typedef   int     (*vfs_showargs_t)(bhv_desc_t *, struct seq_file *);
 typedef int    (*vfs_unmount_t)(bhv_desc_t *, int, struct cred *);
 typedef int    (*vfs_mntupdate_t)(bhv_desc_t *, int *,
                                struct xfs_mount_args *);
-typedef int    (*vfs_root_t)(bhv_desc_t *, struct bhv_vnode **);
+typedef int    (*vfs_root_t)(bhv_desc_t *, struct inode **);
 typedef int    (*vfs_statvfs_t)(bhv_desc_t *, bhv_statvfs_t *,
-                               struct bhv_vnode *);
+                               struct inode *);
 typedef int    (*vfs_sync_t)(bhv_desc_t *, int, struct cred *);
-typedef int    (*vfs_vget_t)(bhv_desc_t *, struct bhv_vnode **, struct fid *);
+typedef int    (*vfs_vget_t)(bhv_desc_t *, struct inode **, struct fid *);
 typedef int    (*vfs_dmapiops_t)(bhv_desc_t *, caddr_t);
 typedef int    (*vfs_quotactl_t)(bhv_desc_t *, int, int, caddr_t);
 typedef void   (*vfs_init_vnode_t)(bhv_desc_t *,
-                               struct bhv_vnode *, struct xfs_inode *, int);
+                               struct inode *, struct xfs_inode *, int);
 typedef void   (*vfs_force_shutdown_t)(bhv_desc_t *, int, char *, int);
 typedef void   (*vfs_freeze_t)(bhv_desc_t *);
 
@@ -196,13 +196,13 @@ extern int vfs_parseargs(bhv_desc_t *, char *, struct xfs_mount_args *, int);
 extern int vfs_showargs(bhv_desc_t *, struct seq_file *);
 extern int vfs_unmount(bhv_desc_t *, int, struct cred *);
 extern int vfs_mntupdate(bhv_desc_t *, int *, struct xfs_mount_args *);
-extern int vfs_root(bhv_desc_t *, struct bhv_vnode **);
-extern int vfs_statvfs(bhv_desc_t *, bhv_statvfs_t *, struct bhv_vnode *);
+extern int vfs_root(bhv_desc_t *, struct inode **);
+extern int vfs_statvfs(bhv_desc_t *, bhv_statvfs_t *, struct inode *);
 extern int vfs_sync(bhv_desc_t *, int, struct cred *);
-extern int vfs_vget(bhv_desc_t *, struct bhv_vnode **, struct fid *);
+extern int vfs_vget(bhv_desc_t *, struct inode **, struct fid *);
 extern int vfs_dmapiops(bhv_desc_t *, caddr_t);
 extern int vfs_quotactl(bhv_desc_t *, int, int, caddr_t);
-extern void vfs_init_vnode(bhv_desc_t *, struct bhv_vnode *, struct xfs_inode *, int);
+extern void vfs_init_vnode(bhv_desc_t *, struct inode *, struct xfs_inode *, int);
 extern void vfs_force_shutdown(bhv_desc_t *, int, char *, int);
 extern void vfs_freeze(bhv_desc_t *);
 
index a5c14a8d546a2e3a3230ee26aa2aca698085fa5d..4682c617f3a4cb5a6b7d60065a0bcca8eebcc3aa 100644 (file)
@@ -26,28 +26,24 @@ struct attrlist_cursor_kern;
 
 typedef struct dentry  bhv_vname_t;
 typedef __u64          bhv_vnumber_t;
+typedef struct inode   bhv_vnode_t;
 
-typedef struct bhv_vnode {
-       struct inode    v_inode;                /* Linux inode */
-       /* inode MUST be last */
-} bhv_vnode_t;
-
-#define VN_ISLNK(vp)   S_ISLNK((vp)->v_inode.i_mode)
-#define VN_ISREG(vp)   S_ISREG((vp)->v_inode.i_mode)
-#define VN_ISDIR(vp)   S_ISDIR((vp)->v_inode.i_mode)
-#define VN_ISCHR(vp)   S_ISCHR((vp)->v_inode.i_mode)
-#define VN_ISBLK(vp)   S_ISBLK((vp)->v_inode.i_mode)
+#define VN_ISLNK(vp)   S_ISLNK((vp)->i_mode)
+#define VN_ISREG(vp)   S_ISREG((vp)->i_mode)
+#define VN_ISDIR(vp)   S_ISDIR((vp)->i_mode)
+#define VN_ISCHR(vp)   S_ISCHR((vp)->i_mode)
+#define VN_ISBLK(vp)   S_ISBLK((vp)->i_mode)
 
 /*
  * Vnode to Linux inode mapping.
  */
-static inline struct bhv_vnode *vn_from_inode(struct inode *inode)
+static inline bhv_vnode_t *vn_from_inode(struct inode *inode)
 {
-       return container_of(inode, bhv_vnode_t, v_inode);
+       return inode;
 }
-static inline struct inode *vn_to_inode(struct bhv_vnode *vnode)
+static inline struct inode *vn_to_inode(bhv_vnode_t *vnode)
 {
-       return &vnode->v_inode;
+       return vnode;
 }
 
 /*
@@ -193,9 +189,9 @@ typedef struct bhv_vattr {
 
 extern void    vn_init(void);
 extern bhv_vnode_t     *vn_initialize(struct inode *);
-extern int     vn_revalidate(struct bhv_vnode *);
-extern int     __vn_revalidate(struct bhv_vnode *, bhv_vattr_t *);
-extern void    vn_revalidate_core(struct bhv_vnode *, bhv_vattr_t *);
+extern int     vn_revalidate(bhv_vnode_t *);
+extern int     __vn_revalidate(bhv_vnode_t *, bhv_vattr_t *);
+extern void    vn_revalidate_core(bhv_vnode_t *, bhv_vattr_t *);
 
 /*
  * Yeah, these don't take vnode anymore at all, all this should be
@@ -205,7 +201,7 @@ extern void vn_iowait(struct xfs_inode *ip);
 extern void    vn_iowake(struct xfs_inode *ip);
 extern void    vn_ioerror(struct xfs_inode *ip, int error, char *f, int l);
 
-static inline int vn_count(struct bhv_vnode *vp)
+static inline int vn_count(bhv_vnode_t *vp)
 {
        return atomic_read(&vn_to_inode(vp)->i_count);
 }
@@ -213,7 +209,7 @@ static inline int vn_count(struct bhv_vnode *vp)
 /*
  * Vnode reference counting functions (and macros for compatibility).
  */
-extern bhv_vnode_t     *vn_hold(struct bhv_vnode *);
+extern bhv_vnode_t     *vn_hold(bhv_vnode_t *);
 
 #if defined(XFS_VNODE_TRACE)
 #define VN_HOLD(vp)            \
@@ -227,7 +223,7 @@ extern bhv_vnode_t  *vn_hold(struct bhv_vnode *);
 #define VN_RELE(vp)            (iput(vn_to_inode(vp)))
 #endif
 
-static inline struct bhv_vnode *vn_grab(struct bhv_vnode *vp)
+static inline bhv_vnode_t *vn_grab(bhv_vnode_t *vp)
 {
        struct inode *inode = igrab(vn_to_inode(vp));
        return inode ? vn_from_inode(inode) : NULL;
@@ -243,12 +239,12 @@ static inline struct bhv_vnode *vn_grab(struct bhv_vnode *vp)
 /*
  * Dealing with bad inodes
  */
-static inline void vn_mark_bad(struct bhv_vnode *vp)
+static inline void vn_mark_bad(bhv_vnode_t *vp)
 {
        make_bad_inode(vn_to_inode(vp));
 }
 
-static inline int VN_BAD(struct bhv_vnode *vp)
+static inline int VN_BAD(bhv_vnode_t *vp)
 {
        return is_bad_inode(vn_to_inode(vp));
 }
@@ -258,18 +254,18 @@ static inline int VN_BAD(struct bhv_vnode *vp)
  */
 static inline void vn_atime_to_bstime(bhv_vnode_t *vp, xfs_bstime_t *bs_atime)
 {
-       bs_atime->tv_sec = vp->v_inode.i_atime.tv_sec;
-       bs_atime->tv_nsec = vp->v_inode.i_atime.tv_nsec;
+       bs_atime->tv_sec = vp->i_atime.tv_sec;
+       bs_atime->tv_nsec = vp->i_atime.tv_nsec;
 }
 
 static inline void vn_atime_to_timespec(bhv_vnode_t *vp, struct timespec *ts)
 {
-       *ts = vp->v_inode.i_atime;
+       *ts = vp->i_atime;
 }
 
 static inline void vn_atime_to_time_t(bhv_vnode_t *vp, time_t *tt)
 {
-       *tt = vp->v_inode.i_atime.tv_sec;
+       *tt = vp->i_atime.tv_sec;
 }
 
 /*
index d2cdb8a2aad6a9ad1722675c4359ccd362fda637..ca25ee31a02fe8d1bc051755154e35627e560dc4 100644 (file)
@@ -188,7 +188,7 @@ STATIC int
 xfs_qm_statvfs(
        struct bhv_desc         *bhv,
        bhv_statvfs_t           *statp,
-       struct bhv_vnode        *vnode)
+       bhv_vnode_t             *vnode)
 {
        xfs_mount_t             *mp;
        xfs_inode_t             *ip;
index 817d9e93c2c54c4b6753f2dd5ede4348b14b65f0..1b440f37371c858d7007fadfc668e24b554dd360 100644 (file)
@@ -376,11 +376,11 @@ xfs_acl_allow_set(
        bhv_vattr_t     va;
        int             error;
 
-       if (vp->v_inode.i_flags & (S_IMMUTABLE|S_APPEND))
+       if (vp->i_flags & (S_IMMUTABLE|S_APPEND))
                return EPERM;
        if (kind == _ACL_TYPE_DEFAULT && !VN_ISDIR(vp))
                return ENOTDIR;
-       if (vp->v_inode.i_sb->s_flags & MS_RDONLY)
+       if (vp->i_sb->s_flags & MS_RDONLY)
                return EROFS;
        va.va_mask = XFS_AT_UID;
        error = xfs_getattr(ip, &va, 0);
index f853cf1a627058256fd88a43333e821d70c9ef19..ab290daff6a8083490f81bc9ee162989c9e9e87f 100644 (file)
@@ -50,7 +50,6 @@ typedef struct xfs_acl {
 #ifdef CONFIG_XFS_POSIX_ACL
 
 struct vattr;
-struct bhv_vnode;
 struct xfs_inode;
 
 extern struct kmem_zone *xfs_acl_zone;
@@ -58,14 +57,14 @@ extern struct kmem_zone *xfs_acl_zone;
                (zone) = kmem_zone_init(sizeof(xfs_acl_t), (name))
 #define xfs_acl_zone_destroy(zone)     kmem_zone_destroy(zone)
 
-extern int xfs_acl_inherit(struct bhv_vnode *, struct bhv_vattr *, xfs_acl_t *);
+extern int xfs_acl_inherit(bhv_vnode_t *, struct bhv_vattr *, xfs_acl_t *);
 extern int xfs_acl_iaccess(struct xfs_inode *, mode_t, cred_t *);
-extern int xfs_acl_vtoacl(struct bhv_vnode *, xfs_acl_t *, xfs_acl_t *);
-extern int xfs_acl_vhasacl_access(struct bhv_vnode *);
-extern int xfs_acl_vhasacl_default(struct bhv_vnode *);
-extern int xfs_acl_vset(struct bhv_vnode *, void *, size_t, int);
-extern int xfs_acl_vget(struct bhv_vnode *, void *, size_t, int);
-extern int xfs_acl_vremove(struct bhv_vnode *, int);
+extern int xfs_acl_vtoacl(bhv_vnode_t *, xfs_acl_t *, xfs_acl_t *);
+extern int xfs_acl_vhasacl_access(bhv_vnode_t *);
+extern int xfs_acl_vhasacl_default(bhv_vnode_t *);
+extern int xfs_acl_vset(bhv_vnode_t *, void *, size_t, int);
+extern int xfs_acl_vget(bhv_vnode_t *, void *, size_t, int);
+extern int xfs_acl_vremove(bhv_vnode_t *, int);
 
 #define _ACL_TYPE_ACCESS       1
 #define _ACL_TYPE_DEFAULT      2
index 47c9ab1eae0b223997adaf5edb19ffc14e6ff23d..786eba3121c4300a0b2a349167c7f29b2a1121e8 100644 (file)
  *========================================================================*/
 
 struct cred;
-struct bhv_vnode;
 struct xfs_attr_list_context;
 
-typedef int (*attrset_t)(struct bhv_vnode *, char *, void *, size_t, int);
-typedef int (*attrget_t)(struct bhv_vnode *, char *, void *, size_t, int);
-typedef int (*attrremove_t)(struct bhv_vnode *, char *, int);
-typedef int (*attrexists_t)(struct bhv_vnode *);
-typedef int (*attrcapable_t)(struct bhv_vnode *, struct cred *);
+typedef int (*attrset_t)(bhv_vnode_t *, char *, void *, size_t, int);
+typedef int (*attrget_t)(bhv_vnode_t *, char *, void *, size_t, int);
+typedef int (*attrremove_t)(bhv_vnode_t *, char *, int);
+typedef int (*attrexists_t)(bhv_vnode_t *);
+typedef int (*attrcapable_t)(bhv_vnode_t *, struct cred *);
 
 typedef struct attrnames {
        char *          attr_name;
@@ -64,7 +63,7 @@ extern struct attrnames attr_trusted;
 extern struct attrnames *attr_namespaces[ATTR_NAMECOUNT];
 
 extern attrnames_t *attr_lookup_namespace(char *, attrnames_t **, int);
-extern int attr_generic_list(struct bhv_vnode *, void *, size_t, int, ssize_t *);
+extern int attr_generic_list(bhv_vnode_t *, void *, size_t, int, ssize_t *);
 
 #define ATTR_DONTFOLLOW        0x0001  /* -- unused, from IRIX -- */
 #define ATTR_ROOT      0x0002  /* use attrs in root (trusted) namespace */
index 8a1457280f180cb783faccda42342e7b947cc5dd..10eaee77379f8d3c224b7df9255651542130adf3 100644 (file)
@@ -106,7 +106,6 @@ typedef struct xfs_ifork {
 
 #ifdef __KERNEL__
 struct bhv_desc;
-struct bhv_vnode;
 struct cred;
 struct ktrace;
 struct xfs_buf;
@@ -257,7 +256,7 @@ typedef struct xfs_inode {
        struct xfs_inode        *i_mprev;       /* ptr to prev inode */
        struct xfs_mount        *i_mount;       /* fs mount struct ptr */
        struct list_head        i_reclaim;      /* reclaim list */
-       struct bhv_vnode        *i_vnode;       /* vnode backpointer */
+       bhv_vnode_t             *i_vnode;       /* vnode backpointer */
        struct xfs_dquot        *i_udquot;      /* user dquot */
        struct xfs_dquot        *i_gdquot;      /* group dquot */
 
@@ -509,7 +508,7 @@ void                xfs_ihash_init(struct xfs_mount *);
 void           xfs_ihash_free(struct xfs_mount *);
 xfs_inode_t    *xfs_inode_incore(struct xfs_mount *, xfs_ino_t,
                                  struct xfs_trans *);
-void            xfs_inode_lock_init(xfs_inode_t *, struct bhv_vnode *);
+void            xfs_inode_lock_init(xfs_inode_t *, bhv_vnode_t *);
 int            xfs_iget(struct xfs_mount *, struct xfs_trans *, xfs_ino_t,
                         uint, uint, xfs_inode_t **, xfs_daddr_t);
 void           xfs_iput(xfs_inode_t *, uint);
index f5e32f43cd6298cf02da2ad5a628e50adf533add..02b9a6ee940378d56f054f7cc69da0f4fc5c6555 100644 (file)
@@ -55,7 +55,6 @@ typedef struct xfs_trans_reservations {
 struct cred;
 struct log;
 struct bhv_vfs;
-struct bhv_vnode;
 struct xfs_mount_args;
 struct xfs_inode;
 struct xfs_iocore;
@@ -78,15 +77,15 @@ extern struct bhv_vfsops xfs_vfsops;
  * Prototypes and functions for the Data Migration subsystem.
  */
 
-typedef int    (*xfs_send_data_t)(int, struct bhv_vnode *,
+typedef int    (*xfs_send_data_t)(int, bhv_vnode_t *,
                        xfs_off_t, size_t, int, bhv_vrwlock_t *);
 typedef int    (*xfs_send_mmap_t)(struct vm_area_struct *, uint);
-typedef int    (*xfs_send_destroy_t)(struct bhv_vnode *, dm_right_t);
+typedef int    (*xfs_send_destroy_t)(bhv_vnode_t *, dm_right_t);
 typedef int    (*xfs_send_namesp_t)(dm_eventtype_t, struct bhv_vfs *,
-                       struct bhv_vnode *,
-                       dm_right_t, struct bhv_vnode *, dm_right_t,
+                       bhv_vnode_t *,
+                       dm_right_t, bhv_vnode_t *, dm_right_t,
                        char *, char *, mode_t, int, int);
-typedef void   (*xfs_send_unmount_t)(struct bhv_vfs *, struct bhv_vnode *,
+typedef void   (*xfs_send_unmount_t)(struct bhv_vfs *, bhv_vnode_t *,
                        dm_right_t, mode_t, int, int);
 
 typedef struct xfs_dmops {