X-Git-Url: http://git.onelab.eu/?p=linux-2.6.git;a=blobdiff_plain;f=fs%2Fxfs%2Flinux-2.6%2Fxfs_super.c;h=674bf43fe193dd0a759c6090b798769275a49214;hp=3842eee2690254df8b6240d70e9aaa27af33c0de;hb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;hpb=e3f6fb6212a7102bdb56ba38fa1e98fe72950475 diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index 3842eee26..674bf43fe 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (c) 2000-2005 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 @@ -66,7 +66,6 @@ #include "xfs_buf_item.h" #include "xfs_utils.h" #include "xfs_version.h" -#include "xfs_ioctl32.h" #include #include @@ -76,7 +75,6 @@ STATIC struct quotactl_ops linvfs_qops; STATIC struct super_operations linvfs_sops; STATIC kmem_zone_t *linvfs_inode_zone; -STATIC kmem_shaker_t xfs_inode_shaker; STATIC struct xfs_mount_args * xfs_args_allocate( @@ -91,6 +89,10 @@ xfs_args_allocate( /* Copy the already-parsed mount(2) flags we're interested in */ if (sb->s_flags & MS_NOATIME) args->flags |= XFSMNT_NOATIME; + if (sb->s_flags & MS_DIRSYNC) + args->flags |= XFSMNT_DIRSYNC; + if (sb->s_flags & MS_SYNCHRONOUS) + args->flags |= XFSMNT_WSYNC; /* Default to 32 bit inodes on Linux all the time */ args->flags |= XFSMNT_32BITINODES; @@ -169,6 +171,7 @@ xfs_revalidate_inode( inode->i_nlink = ip->i_d.di_nlink; inode->i_uid = ip->i_d.di_uid; inode->i_gid = ip->i_d.di_gid; + inode->i_xid = ip->i_d.di_xid; if (((1 << vp->v_type) & ((1<i_rdev = 0; } else { @@ -294,18 +297,6 @@ linvfs_destroy_inode( kmem_cache_free(linvfs_inode_zone, LINVFS_GET_VP(inode)); } -STATIC int -xfs_inode_shake( - int priority, - unsigned int gfp_mask) -{ - int pages; - - pages = kmem_zone_shrink(linvfs_inode_zone); - pages += kmem_zone_shrink(xfs_inode_zone); - return pages; -} - STATIC void init_once( void *data, @@ -893,12 +884,6 @@ init_xfs_fs( void ) uuid_init(); vfs_initquota(); - xfs_inode_shaker = kmem_shake_register(xfs_inode_shake); - if (!xfs_inode_shaker) { - error = -ENOMEM; - goto undo_shaker; - } - error = register_filesystem(&xfs_fs_type); if (error) goto undo_register; @@ -906,9 +891,6 @@ init_xfs_fs( void ) return 0; undo_register: - kmem_shake_deregister(xfs_inode_shaker); - -undo_shaker: pagebuf_terminate(); undo_pagebuf: @@ -924,7 +906,6 @@ exit_xfs_fs( void ) vfs_exitquota(); XFS_DM_EXIT(&xfs_fs_type); unregister_filesystem(&xfs_fs_type); - kmem_shake_deregister(xfs_inode_shaker); xfs_cleanup(); pagebuf_terminate(); destroy_inodecache();