]> err.no Git - linux-2.6/blobdiff - fs/xfs/linux-2.6/xfs_super.c
WorkStruct: make allyesconfig
[linux-2.6] / fs / xfs / linux-2.6 / xfs_super.c
index 9bdef9d519005c9c4fad27d9eb0d404cc09adcc4..de05abbbe7fd5b4d220b3baee7230006631cdd33 100644 (file)
@@ -171,7 +171,6 @@ xfs_revalidate_inode(
                break;
        }
 
-       inode->i_blksize = xfs_preferred_iosize(mp);
        inode->i_generation = ip->i_d.di_gen;
        i_size_write(inode, ip->i_d.di_size);
        inode->i_blocks =
@@ -228,7 +227,7 @@ xfs_initialize_vnode(
                xfs_revalidate_inode(XFS_BHVTOM(bdp), vp, ip);
                xfs_set_inodeops(inode);
 
-               ip->i_flags &= ~XFS_INEW;
+               xfs_iflags_clear(ip, XFS_INEW);
                barrier();
 
                unlock_new_inode(inode);
@@ -314,6 +313,13 @@ xfs_mountfs_check_barriers(xfs_mount_t *mp)
                return;
        }
 
+       if (xfs_readonly_buftarg(mp->m_ddev_targp)) {
+               xfs_fs_cmn_err(CE_NOTE, mp,
+                 "Disabling barriers, underlying device is readonly");
+               mp->m_flags &= ~XFS_MOUNT_BARRIER;
+               return;
+       }
+
        error = xfs_barrier_test(mp);
        if (error) {
                xfs_fs_cmn_err(CE_NOTE, mp,