patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / fs / xfs / xfs_vfsops.c
index aa16d90..be11881 100644 (file)
@@ -279,6 +279,9 @@ xfs_start_flags(
        if (ap->flags & XFSMNT_NOALIGN)
                mp->m_flags |= XFS_MOUNT_NOALIGN;
 
+       if (ap->flags & XFSMNT_SWALLOC)
+               mp->m_flags |= XFS_MOUNT_SWALLOC;
+
        if (ap->flags & XFSMNT_OSYNCISOSYNC)
                mp->m_flags |= XFS_MOUNT_OSYNCISOSYNC;
 
@@ -536,7 +539,7 @@ xfs_unmount(
        rvp = XFS_ITOV(rip);
 
        if (vfsp->vfs_flag & VFS_DMI) {
-               error = XFS_SEND_NAMESP(mp, DM_EVENT_PREUNMOUNT,
+               error = XFS_SEND_PREUNMOUNT(mp, vfsp,
                                rvp, DM_RIGHT_NULL, rvp, DM_RIGHT_NULL,
                                NULL, NULL, 0, 0,
                                (mp->m_dmevmask & (1<<DM_EVENT_PREUNMOUNT))?
@@ -1614,6 +1617,7 @@ xfs_vget(
 #define MNTOPT_WSYNC   "wsync"         /* safe-mode nfs compatible mount */
 #define MNTOPT_INO64   "ino64"         /* force inodes into 64-bit range */
 #define MNTOPT_NOALIGN "noalign"       /* turn off stripe alignment */
+#define MNTOPT_SWALLOC "swalloc"       /* turn on stripe width allocation */
 #define MNTOPT_SUNIT   "sunit"         /* data volume stripe unit */
 #define MNTOPT_SWIDTH  "swidth"        /* data volume stripe width */
 #define MNTOPT_NOUUID  "nouuid"        /* ignore filesystem UUID */
@@ -1721,6 +1725,8 @@ xfs_parseargs(
 #endif
                } else if (!strcmp(this_char, MNTOPT_NOALIGN)) {
                        args->flags |= XFSMNT_NOALIGN;
+               } else if (!strcmp(this_char, MNTOPT_SWALLOC)) {
+                       args->flags |= XFSMNT_SWALLOC;
                } else if (!strcmp(this_char, MNTOPT_SUNIT)) {
                        if (!value || !*value) {
                                printk("XFS: %s option requires an argument\n",
@@ -1815,6 +1821,7 @@ xfs_showargs(
                { XFS_MOUNT_WSYNC,              "," MNTOPT_WSYNC },
                { XFS_MOUNT_INO64,              "," MNTOPT_INO64 },
                { XFS_MOUNT_NOALIGN,            "," MNTOPT_NOALIGN },
+               { XFS_MOUNT_SWALLOC,            "," MNTOPT_SWALLOC },
                { XFS_MOUNT_NOUUID,             "," MNTOPT_NOUUID },
                { XFS_MOUNT_NORECOVERY,         "," MNTOPT_NORECOVERY },
                { XFS_MOUNT_OSYNCISOSYNC,       "," MNTOPT_OSYNCISOSYNC },