patch-2.4.27 linux-2.4.27/fs/xfs/xfs_mount.c
Next file: linux-2.4.27/fs/xfs/xfs_mount.h
Previous file: linux-2.4.27/fs/xfs/xfs_macros.c
Back to the patch index
Back to the overall index
- Lines: 67
- Date:
2004-08-07 16:26:06.139407796 -0700
- Orig file:
linux-2.4.26/fs/xfs/xfs_mount.c
- Orig date:
2004-04-14 06:05:40.000000000 -0700
diff -urN linux-2.4.26/fs/xfs/xfs_mount.c linux-2.4.27/fs/xfs/xfs_mount.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved.
+ * Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as
@@ -117,6 +117,7 @@
{ offsetof(xfs_sb_t, sb_logsectlog), 0 },
{ offsetof(xfs_sb_t, sb_logsectsize),0 },
{ offsetof(xfs_sb_t, sb_logsunit), 0 },
+ { offsetof(xfs_sb_t, sb_features2), 0 },
{ sizeof(xfs_sb_t), 0 }
};
@@ -686,14 +687,21 @@
error = XFS_ERROR(EINVAL);
goto error1;
}
+ xfs_fs_cmn_err(CE_WARN, mp,
+"stripe alignment turned off: sunit(%d)/swidth(%d) incompatible with agsize(%d)",
+ mp->m_dalign, mp->m_swidth,
+ sbp->sb_agblocks);
+
mp->m_dalign = 0;
mp->m_swidth = 0;
} else if (mp->m_dalign) {
mp->m_swidth = XFS_BB_TO_FSBT(mp, mp->m_swidth);
} else {
if (mp->m_flags & XFS_MOUNT_RETERR) {
- cmn_err(CE_WARN,
- "XFS: alignment check 3 failed");
+ xfs_fs_cmn_err(CE_WARN, mp,
+"stripe alignment turned off: sunit(%d) less than bsize(%d)",
+ mp->m_dalign,
+ mp->m_blockmask +1);
error = XFS_ERROR(EINVAL);
goto error1;
}
@@ -1130,22 +1138,11 @@
void
xfs_unmountfs_close(xfs_mount_t *mp, struct cred *cr)
{
- int have_logdev = (mp->m_logdev_targp != mp->m_ddev_targp);
-
- if (mp->m_ddev_targp) {
- xfs_free_buftarg(mp->m_ddev_targp);
- mp->m_ddev_targp = NULL;
- }
- if (mp->m_rtdev_targp) {
- xfs_blkdev_put(mp->m_rtdev_targp->pbr_bdev);
- xfs_free_buftarg(mp->m_rtdev_targp);
- mp->m_rtdev_targp = NULL;
- }
- if (mp->m_logdev_targp && have_logdev) {
- xfs_blkdev_put(mp->m_logdev_targp->pbr_bdev);
- xfs_free_buftarg(mp->m_logdev_targp);
- mp->m_logdev_targp = NULL;
- }
+ if (mp->m_logdev_targp != mp->m_ddev_targp)
+ xfs_free_buftarg(mp->m_logdev_targp, 1);
+ if (mp->m_rtdev_targp)
+ xfs_free_buftarg(mp->m_rtdev_targp, 1);
+ xfs_free_buftarg(mp->m_ddev_targp, 0);
}
int
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)