]> err.no Git - linux-2.6/blobdiff - fs/xfs/linux-2.6/xfs_super.c
Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
[linux-2.6] / fs / xfs / linux-2.6 / xfs_super.c
index 02ec14eeb0ced29f4a4fd5f9f5e63c890f6f1156..8cb63c60c04880e4395c3eace8c033de19d32038 100644 (file)
@@ -303,6 +303,14 @@ xfs_mountfs_check_barriers(xfs_mount_t *mp)
                return;
        }
 
+       if (mp->m_ddev_targp->bt_bdev->bd_disk->queue->ordered ==
+                                       QUEUE_ORDERED_NONE) {
+               xfs_fs_cmn_err(CE_NOTE, mp,
+                 "Disabling barriers, not supported by the underlying device");
+               mp->m_flags &= ~XFS_MOUNT_BARRIER;
+               return;
+       }
+
        if (xfs_readonly_buftarg(mp->m_ddev_targp)) {
                xfs_fs_cmn_err(CE_NOTE, mp,
                  "Disabling barriers, underlying device is readonly");
@@ -347,9 +355,8 @@ xfs_fs_destroy_inode(
 
 STATIC void
 xfs_fs_inode_init_once(
-       void                    *vnode,
        kmem_zone_t             *zonep,
-       unsigned long           flags)
+       void                    *vnode)
 {
        inode_init_once(vn_to_inode((bhv_vnode_t *)vnode));
 }