linux-kernel-test/fs/xfs/linux-2.6
Lachlan McIlroy 5695ef46ef [XFS] Use KM_NOFS for debug trace buffers
Use KM_NOFS to prevent recursion back into the filesystem which can cause
deadlocks.

In the case of xfs_iread() we hold the lock on the inode cluster buffer
while allocating memory for the trace buffers. If we recurse back into XFS
to flush data that may require a transaction to allocate extents which
needs log space. This can deadlock with the xfsaild thread which can't
push the tail of the log because it is trying to get the inode cluster
buffer lock.

SGI-PV: 981498

SGI-Modid: xfs-linux-melb:xfs-kern:31838a

Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: David Chinner <david@fromorbit.com>
2008-08-13 16:51:57 +10:00
..
kmem.c [XFS] kmem_free and kmem_realloc to use const void * 2008-07-28 16:58:43 +10:00
kmem.h [XFS] kmem_free and kmem_realloc to use const void * 2008-07-28 16:58:43 +10:00
mrlock.h [XFS] shrink mrlock_t 2008-04-29 15:54:02 +10:00
mutex.h
sv.h
time.h
xfs_aops.c [XFS] XFS: Kill xfs_vtoi() 2008-08-13 16:01:45 +10:00
xfs_aops.h [XFS] move v_iocount from bhv_vnode to xfs_inode 2007-10-16 11:38:56 +10:00
xfs_buf.c [XFS] Use KM_NOFS for debug trace buffers 2008-08-13 16:51:57 +10:00
xfs_buf.h [XFS] replace the XFS buf iodone semaphore with a completion 2008-08-13 16:36:11 +10:00
xfs_cred.h [XFS] Replace __inline with inline 2008-04-18 11:51:15 +10:00
xfs_dmapi_priv.h
xfs_export.c [XFS] convert xfs to use ERR_CAST 2008-08-13 16:09:25 +10:00
xfs_export.h xfs: new export ops 2007-10-22 08:13:20 -07:00
xfs_file.c [XFS] Fix fsync() b0rkage. 2008-05-23 15:25:25 +10:00
xfs_fs_subr.c [XFS] Avoid directly referencing the VFS inode. 2008-08-13 15:45:15 +10:00
xfs_fs_subr.h [XFS] decontaminate vnode operations from behavior details 2007-10-15 16:54:29 +10:00
xfs_globals.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_globals.h [XFS] Remove xfs_physmem 2007-10-15 16:40:14 +10:00
xfs_ioctl32.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_ioctl32.h
xfs_ioctl.c [XFS] Kill shouty XFS_ITOV() macro 2008-08-13 16:00:45 +10:00
xfs_iops.c [XFS] stop using file_update_time 2008-08-13 16:48:12 +10:00
xfs_iops.h [XFS] stop using file_update_time 2008-08-13 16:48:12 +10:00
xfs_linux.h [XFS] remove the sema_t from XFS. 2008-08-13 16:42:10 +10:00
xfs_lrw.c [XFS] stop using file_update_time 2008-08-13 16:48:12 +10:00
xfs_lrw.h [XFS] remove sendfile leftovers 2008-04-29 16:08:14 +10:00
xfs_stats.c [XFS] streamline init/exit path 2008-07-28 16:59:25 +10:00
xfs_stats.h [XFS] fix compilation without CONFIG_PROC_FS 2008-07-28 16:59:31 +10:00
xfs_super.c [XFS] don't call xfs_freesb from xfs_unmountfs 2008-08-13 16:50:21 +10:00
xfs_super.h [XFS] sanitize xfs_initialize_vnode 2008-08-13 16:23:13 +10:00
xfs_sysctl.c [XFS] streamline init/exit path 2008-07-28 16:59:25 +10:00
xfs_sysctl.h [XFS] streamline init/exit path 2008-07-28 16:59:25 +10:00
xfs_version.h
xfs_vfs.h [XFS] Remove periodic logging of in-core superblock counters. 2008-04-18 12:03:12 +10:00
xfs_vnode.c [XFS] clean up stale references to semaphores 2008-08-13 16:34:31 +10:00
xfs_vnode.h [XFS] kill bhv_vnode_t 2008-08-13 16:22:40 +10:00
xfs_xattr.c [XFS] Remove vn_revalidate calls in xfs. 2008-07-28 16:59:39 +10:00