aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_super.c')
-rw-r--r--fs/xfs/linux-2.6/xfs_super.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index 3ce9426f57d8..a1e3f3ea334b 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -511,7 +511,7 @@ xfs_flush_device_work(
511 void *arg) 511 void *arg)
512{ 512{
513 struct inode *inode = arg; 513 struct inode *inode = arg;
514 sync_blockdev(mp->m_vfsp->vfs_super->s_bdev); 514 sync_blockdev(mp->m_super->s_bdev);
515 iput(inode); 515 iput(inode);
516} 516}
517 517
@@ -593,7 +593,6 @@ STATIC void
593xfs_fs_put_super( 593xfs_fs_put_super(
594 struct super_block *sb) 594 struct super_block *sb)
595{ 595{
596 bhv_vfs_t *vfsp = vfs_from_sb(sb);
597 struct xfs_mount *mp = XFS_M(sb); 596 struct xfs_mount *mp = XFS_M(sb);
598 int error; 597 int error;
599 598
@@ -601,12 +600,8 @@ xfs_fs_put_super(
601 600
602 xfs_sync(mp, SYNC_ATTR | SYNC_DELWRI); 601 xfs_sync(mp, SYNC_ATTR | SYNC_DELWRI);
603 error = xfs_unmount(mp, 0, NULL); 602 error = xfs_unmount(mp, 0, NULL);
604 if (error) { 603 if (error)
605 printk("XFS: unmount got error=%d\n", error); 604 printk("XFS: unmount got error=%d\n", error);
606 printk("%s: vfs=0x%p left dangling!\n", __FUNCTION__, vfsp);
607 } else {
608 vfs_deallocate(vfsp);
609 }
610} 605}
611 606
612STATIC void 607STATIC void
@@ -764,7 +759,6 @@ xfs_fs_fill_super(
764 int silent) 759 int silent)
765{ 760{
766 struct inode *rootvp; 761 struct inode *rootvp;
767 struct bhv_vfs *vfsp = vfs_allocate(sb);
768 struct xfs_mount *mp = NULL; 762 struct xfs_mount *mp = NULL;
769 struct xfs_mount_args *args = xfs_args_allocate(sb, silent); 763 struct xfs_mount_args *args = xfs_args_allocate(sb, silent);
770 struct kstatfs statvfs; 764 struct kstatfs statvfs;
@@ -776,8 +770,8 @@ xfs_fs_fill_super(
776 spin_lock_init(&mp->m_sync_lock); 770 spin_lock_init(&mp->m_sync_lock);
777 init_waitqueue_head(&mp->m_wait_single_sync_task); 771 init_waitqueue_head(&mp->m_wait_single_sync_task);
778 772
779 mp->m_vfsp = vfsp; 773 mp->m_super = sb;
780 vfsp->vfs_mount = mp; 774 sb->s_fs_info = mp;
781 775
782 if (sb->s_flags & MS_RDONLY) 776 if (sb->s_flags & MS_RDONLY)
783 mp->m_flags |= XFS_MOUNT_RDONLY; 777 mp->m_flags |= XFS_MOUNT_RDONLY;
@@ -847,7 +841,6 @@ fail_unmount:
847 xfs_unmount(mp, 0, NULL); 841 xfs_unmount(mp, 0, NULL);
848 842
849fail_vfsop: 843fail_vfsop:
850 vfs_deallocate(vfsp);
851 kmem_free(args, sizeof(*args)); 844 kmem_free(args, sizeof(*args));
852 return -error; 845 return -error;
853} 846}