X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fxfs%2Flinux-2.6%2Fxfs_file.c;h=e8e02f501013fda3e9377aaae3ee88303c7c7893;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=aaa74d256889420ff174b5d0f5a2f5f9630d53c8;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/fs/xfs/linux-2.6/xfs_file.c b/fs/xfs/linux-2.6/xfs_file.c index aaa74d256..e8e02f501 100644 --- a/fs/xfs/linux-2.6/xfs_file.c +++ b/fs/xfs/linux-2.6/xfs_file.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 @@ -53,6 +53,7 @@ #include "xfs_rw.h" #include +#include static struct vm_operations_struct linvfs_file_vm_ops; @@ -440,9 +441,10 @@ linvfs_ioctl( int error; vnode_t *vp = LINVFS_GET_VP(inode); - ASSERT(vp); + unlock_kernel(); VOP_IOCTL(vp, inode, filp, 0, cmd, arg, error); VMODIFY(vp); + lock_kernel(); /* NOTE: some of the ioctl's return positive #'s as a * byte count indicating success, such as @@ -463,9 +465,11 @@ linvfs_ioctl_invis( int error; vnode_t *vp = LINVFS_GET_VP(inode); + unlock_kernel(); ASSERT(vp); VOP_IOCTL(vp, inode, filp, IO_INVIS, cmd, arg, error); VMODIFY(vp); + lock_kernel(); /* NOTE: some of the ioctl's return positive #'s as a * byte count indicating success, such as