aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorNathan Scott <nathans@sgi.com>2005-05-05 13:24:13 -0700
committerChristoph Hellwig <hch@melbourne.sgi.com>2005-05-05 13:24:13 -0700
commitde20614b351e4d4d23af0a105baa8fd2d7cd4f26 (patch)
treedf5203af47718b9acf73f5a276024b602c6bcade /fs
parent[XFS] Move the XFS inode to the front of its hash list on a cache hit (diff)
downloadlinux-dev-de20614b351e4d4d23af0a105baa8fd2d7cd4f26.tar.xz
linux-dev-de20614b351e4d4d23af0a105baa8fd2d7cd4f26.zip
[XFS] Block mount attempts for filesystems with version 1 directories.
SGI Modid: xfs-linux:xfs-kern:21937a Signed-off-by: Nathan Scott <nathans@sgi.com> Signed-off-by: Christoph Hellwig <hch@sgi.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/xfs_mount.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index b57423caef9b..2ec967d93e5a 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -301,6 +301,15 @@ xfs_mount_validate_sb(
}
/*
+ * Version 1 directory format has never worked on Linux.
+ */
+ if (unlikely(!XFS_SB_VERSION_HASDIRV2(sbp))) {
+ cmn_err(CE_WARN,
+ "XFS: Attempted to mount file system using version 1 directory format");
+ return XFS_ERROR(ENOSYS);
+ }
+
+ /*
* Until this is fixed only page-sized or smaller data blocks work.
*/
if (unlikely(sbp->sb_blocksize > PAGE_SIZE)) {