Commit 2f6f7b3d authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Tim Shimmin
Browse files

[XFS] kill v_vfsp member from struct bhv_vnode



We can easily get at the vfsp through the super_block but it will soon be
gone anyway.

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

Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
parent 739bfb2a
Loading
Loading
Loading
Loading
+14 −17
Original line number Diff line number Diff line
@@ -261,7 +261,7 @@ xfs_file_mmap(
	vma->vm_flags |= VM_CAN_NONLINEAR;

#ifdef CONFIG_XFS_DMAPI
	if (vn_from_inode(filp->f_path.dentry->d_inode)->v_vfsp->vfs_flag & VFS_DMI)
	if (vfs_from_sb(filp->f_path.dentry->d_inode->i_sb)->vfs_flag & VFS_DMI)
		vma->vm_ops = &xfs_dmapi_file_vm_ops;
#endif /* CONFIG_XFS_DMAPI */

@@ -320,16 +320,14 @@ xfs_vm_mprotect(
	struct vm_area_struct *vma,
	unsigned int	newflags)
{
	bhv_vnode_t	*vp = vn_from_inode(vma->vm_file->f_path.dentry->d_inode);
	struct inode	*inode = vma->vm_file->f_path.dentry->d_inode;
	bhv_vfs_t	*vfsp = vfs_from_sb(inode->i_sb);
	int		error = 0;

	if (vp->v_vfsp->vfs_flag & VFS_DMI) {
	if (vfsp->vfs_flag & VFS_DMI) {
		if ((vma->vm_flags & VM_MAYSHARE) &&
		    (newflags & VM_WRITE) && !(vma->vm_flags & VM_WRITE)) {
			xfs_mount_t	*mp = XFS_VFSTOM(vp->v_vfsp);

			error = XFS_SEND_MMAP(mp, vma, VM_WRITE);
		    }
		    (newflags & VM_WRITE) && !(vma->vm_flags & VM_WRITE))
			error = XFS_SEND_MMAP(XFS_VFSTOM(vfsp), vma, VM_WRITE);
	}
	return error;
}
@@ -346,18 +344,17 @@ STATIC int
xfs_file_open_exec(
	struct inode	*inode)
{
	bhv_vnode_t	*vp = vn_from_inode(inode);
	bhv_vfs_t	*vfsp = vfs_from_sb(inode->i_sb);

	if (unlikely(vp->v_vfsp->vfs_flag & VFS_DMI)) {
		xfs_mount_t	*mp = XFS_VFSTOM(vp->v_vfsp);
		xfs_inode_t	*ip = xfs_vtoi(vp);
	if (unlikely(vfsp->vfs_flag & VFS_DMI)) {
		if (DM_EVENT_ENABLED(XFS_I(inode), DM_EVENT_READ)) {
			bhv_vnode_t *vp = vn_from_inode(inode);

		if (!ip)
			return -EINVAL;
		if (DM_EVENT_ENABLED(ip, DM_EVENT_READ))
			return -XFS_SEND_DATA(mp, DM_EVENT_READ, vp,
					       0, 0, 0, NULL);
			return -XFS_SEND_DATA(XFS_VFSTOM(vfsp), DM_EVENT_READ,
						vp, 0, 0, 0, NULL);
		}
	}

	return 0;
}
#endif /* HAVE_FOP_OPEN_EXEC */
+2 −1
Original line number Diff line number Diff line
@@ -138,7 +138,8 @@ xfs_find_handle(
	vp = vn_from_inode(inode);

	/* now we can grab the fsid */
	memcpy(&handle.ha_fsid, vp->v_vfsp->vfs_altfsid, sizeof(xfs_fsid_t));
	memcpy(&handle.ha_fsid, XFS_MTOVFS(XFS_I(inode)->i_mount)->vfs_altfsid,
			sizeof(xfs_fsid_t));
	hsize = sizeof(xfs_fsid_t);

	if (cmd != XFS_IOC_PATH_TO_FSHANDLE) {
+1 −1
Original line number Diff line number Diff line
@@ -621,7 +621,7 @@ xfs_write(
	io = &xip->i_iocore;
	mp = io->io_mount;

	vfs_wait_for_freeze(vp->v_vfsp, SB_FREEZE_WRITE);
	vfs_wait_for_freeze(XFS_MTOVFS(mp), SB_FREEZE_WRITE);

	if (XFS_FORCED_SHUTDOWN(mp))
		return -EIO;
+0 −1
Original line number Diff line number Diff line
@@ -210,7 +210,6 @@ xfs_initialize_vnode(
	struct inode		*inode = vn_to_inode(vp);

	if (!ip->i_vnode) {
		vp->v_vfsp = bhvtovfs(bdp);
		ip->i_vnode = vp;
		inode->i_private = ip;
	}
+3 −1
Original line number Diff line number Diff line
@@ -69,8 +69,10 @@ vn_ioerror(
	char		*f,
	int		l)
{
	bhv_vfs_t	*vfsp = vfs_from_sb(vp->v_inode.i_sb);

	if (unlikely(error == -ENODEV))
		bhv_vfs_force_shutdown(vp->v_vfsp, SHUTDOWN_DEVICE_REQ, f, l);
		bhv_vfs_force_shutdown(vfsp, SHUTDOWN_DEVICE_REQ, f, l);
}

bhv_vnode_t *
Loading