David Chinner
220ca310a5
[XFS] XFS: Check for valid transaction headers in recovery
...
When we are about to add a new item to a transaction in recovery, we need
to check that it is valid first. Currently we just assert that header
magic number matches, but in production systems that is not present and we
add a corrupted transaction to the list to be processed. This results in a
kernel oops later when processing the corrupted transaction.
Instead, if we detect a corrupted transaction, abort recovery and leave
the user to clean up the mess that has occurred.
SGI-PV: 988145
SGI-Modid: xfs-linux-melb:xfs-kern:32356a
Signed-off-by: David Chinner <david@fromorbit.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
2008-11-10 18:01:50 +11:00
..
linux-2.6
Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev
2008-10-23 10:23:07 -07:00
quota
[XFS] Use KM_NOFS for debug trace buffers
2008-08-13 16:51:57 +10:00
support
[XFS] streamline init/exit path
2008-07-28 16:59:25 +10:00
Kconfig
[XFS] allow enabling CONFIG_XFS_DEBUG
2008-04-29 16:07:48 +10:00
Makefile
[XFS] Use the generic xattr methods.
2008-07-28 16:58:49 +10:00
xfs.h
[XFS] Fix broken HAVE_SPLICE removal commit.
2008-04-29 15:57:49 +10:00
xfs_acl.c
[XFS] kill bhv_vnode_t
2008-08-13 16:22:40 +10:00
xfs_acl.h
[XFS] kill bhv_vnode_t
2008-08-13 16:22:40 +10:00
xfs_ag.h
[XFS] Unwrap pagb_lock.
2008-02-07 16:46:39 +11:00
xfs_alloc.c
[XFS] fix logic error in xfs_alloc_ag_vextent_near()
2008-04-18 12:03:02 +10:00
xfs_alloc.h
xfs_alloc_btree.c
xfs: convert beX_add to beX_add_cpu (new common API)
2008-02-13 16:21:19 -08:00
xfs_alloc_btree.h
xfs_arch.h
[XFS] remove INT_GET and friends
2008-08-13 16:07:53 +10:00
xfs_attr.c
[XFS] Move xfs_attr_rolltrans to xfs_trans_roll
2008-08-13 16:05:49 +10:00
xfs_attr.h
[XFS] Move attr log alloc size calculator to another function.
2008-08-13 16:03:35 +10:00
xfs_attr_leaf.c
[XFS] Move xfs_attr_rolltrans to xfs_trans_roll
2008-08-13 16:05:49 +10:00
xfs_attr_leaf.h
[XFS] Move xfs_attr_rolltrans to xfs_trans_roll
2008-08-13 16:05:49 +10:00
xfs_attr_sf.h
[XFS]
2008-07-28 16:58:35 +10:00
xfs_bit.c
[XFS] Use the generic bitops rather than implementing them ourselves.
2008-08-13 15:41:12 +10:00
xfs_bit.h
[XFS] Use the generic bitops rather than implementing them ourselves.
2008-08-13 15:41:12 +10:00
xfs_bmap.c
[XFS] Make xfs_bmap_*_count_leaves void.
2008-08-13 16:52:25 +10:00
xfs_bmap.h
[XFS] Restore the lowspace extent allocator algorithm
2008-07-28 16:59:11 +10:00
xfs_bmap_btree.c
[XFS] Allow xfs_bmbt_split() to fallback to the lowspace allocator
2008-07-28 16:59:13 +10:00
xfs_bmap_btree.h
[XFS] remove shouting-indirection macros from xfs_sb.h
2008-04-10 16:24:45 +10:00
xfs_btree.c
[XFS] Use the same btree_cur union member for alloc and inobt trees.
2008-08-13 16:25:27 +10:00
xfs_btree.h
[XFS] Use the same btree_cur union member for alloc and inobt trees.
2008-08-13 16:25:27 +10:00
xfs_buf_item.c
[XFS] Fix use-after-free with buffers
2008-09-17 16:52:13 +10:00
xfs_buf_item.h
[XFS] Fix up sparse warnings.
2008-02-07 18:14:38 +11:00
xfs_clnt.h
[XFS] Fix up noattr2 so that it will properly update the versionnum and
2008-07-28 16:58:05 +10:00
xfs_da_btree.c
[XFS] Account for allocated blocks when expanding directories
2008-11-10 17:51:14 +11:00
xfs_da_btree.h
[XFS] Return case-insensitive match for dentry cache
2008-07-28 16:58:40 +10:00
xfs_dfrag.c
[XFS] Prevent lockdep false positives when locking two inodes.
2008-09-17 16:51:21 +10:00
xfs_dfrag.h
xfs_dinode.h
[XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros.
2008-02-07 18:19:24 +11:00
xfs_dir2.c
[XFS] Account for allocated blocks when expanding directories
2008-11-10 17:51:14 +11:00
xfs_dir2.h
[XFS] Return case-insensitive match for dentry cache
2008-07-28 16:58:40 +10:00
xfs_dir2_block.c
[XFS] Return case-insensitive match for dentry cache
2008-07-28 16:58:40 +10:00
xfs_dir2_block.h
[XFS] use filldir internally
2007-10-15 16:49:49 +10:00
xfs_dir2_data.c
[XFS] Name operation vector for hash and compare
2008-07-28 16:58:36 +10:00
xfs_dir2_data.h
xfs_dir2_leaf.c
[XFS] Fix CI lookup in leaf-form directories
2008-07-28 16:59:06 +10:00
xfs_dir2_leaf.h
[XFS] use filldir internally
2007-10-15 16:49:49 +10:00
xfs_dir2_node.c
[XFS] Fix returning case-preserved name with CI node form directories
2008-07-28 16:59:01 +10:00
xfs_dir2_node.h
xfs_dir2_sf.c
[XFS] Return case-insensitive match for dentry cache
2008-07-28 16:58:40 +10:00
xfs_dir2_sf.h
[XFS] Pack some shortform dir2 structures for the ARM old ABI
2008-07-28 16:58:50 +10:00
xfs_dir2_trace.c
[XFS] Add op_flags field and helpers to xfs_da_args
2008-07-28 16:58:37 +10:00
xfs_dir2_trace.h
xfs_dmapi.h
removed unused #include <linux/version.h>'s
2008-08-23 12:14:12 -07:00
xfs_dmops.c
[XFS] fixups after behavior removal merge into mainline git
2007-10-19 17:14:45 +10:00
xfs_error.c
[XFS] kill INDUCE_IO_ERROR
2008-08-13 16:17:37 +10:00
xfs_error.h
[XFS] kill INDUCE_IO_ERROR
2008-08-13 16:17:37 +10:00
xfs_extfree_item.c
[XFS] Remove unused arg from kmem_free()
2008-07-28 16:58:07 +10:00
xfs_extfree_item.h
xfs_filestream.c
[XFS] Use KM_NOFS for debug trace buffers
2008-08-13 16:51:57 +10:00
xfs_filestream.h
xfs_fs.h
[XFS] attrmulti cleanup
2008-07-28 16:59:09 +10:00
xfs_fsops.c
[XFS] XFS: ASCII case-insensitive support
2008-07-28 16:58:42 +10:00
xfs_fsops.h
xfs_ialloc.c
[XFS] Don't initialise new inode generation numbers to zero
2008-04-29 15:58:56 +10:00
xfs_ialloc.h
[XFS] Pick a single default inode cluster size.
2007-10-15 16:39:35 +10:00
xfs_ialloc_btree.c
[XFS] Use the same btree_cur union member for alloc and inobt trees.
2008-08-13 16:25:27 +10:00
xfs_ialloc_btree.h
[XFS] kill XFS_INOBT_IS_FREE_DISK
2008-02-07 18:12:41 +11:00
xfs_iget.c
[XFS] replace inode flush semaphore with a completion
2008-08-13 16:41:16 +10:00
xfs_imap.h
xfs_inode.c
[XFS] Wait for all I/O on truncate to zero file size
2008-11-10 17:51:00 +11:00
xfs_inode.h
[XFS] update timestamp in xfs_ialloc manually
2008-08-13 16:44:15 +10:00
xfs_inode_item.c
[XFS] replace inode flush semaphore with a completion
2008-08-13 16:41:16 +10:00
xfs_inode_item.h
[XFS] Use xfs_inode_clean() in more places
2008-04-18 11:37:51 +10:00
xfs_inum.h
xfs_iomap.c
[XFS] use minleft when allocating in xfs_bmbt_split()
2008-07-28 16:59:10 +10:00
xfs_iomap.h
[XFS] kill unnessecary ioops indirection
2008-02-07 16:44:14 +11:00
xfs_itable.c
[XFS] remove some easy bhv_vnode_t instances
2008-08-13 16:22:09 +10:00
xfs_itable.h
xfs_log.c
[XFS] handle memory allocation failures during log initialisation
2008-11-10 17:57:06 +11:00
xfs_log.h
[XFS] cleanup xfs_mountfs
2008-08-13 16:49:32 +10:00
xfs_log_priv.h
[XFS] Move memory allocations for log tracing out of the critical path
2008-09-17 16:45:37 +10:00
xfs_log_recover.c
[XFS] XFS: Check for valid transaction headers in recovery
2008-11-10 18:01:50 +11:00
xfs_log_recover.h
xfs_mount.c
[XFS] Fix use-after-free with log and quotas
2008-11-10 17:43:23 +11:00
xfs_mount.h
[XFS] xfs_unmountfs should return void
2008-08-13 16:49:57 +10:00
xfs_mru_cache.c
[XFS] streamline init/exit path
2008-07-28 16:59:25 +10:00
xfs_mru_cache.h
[XFS] On-demand reaping of the MRU cache
2007-09-17 16:42:02 +10:00
xfs_qmops.c
[XFS] Unwrap XFS_SB_LOCK.
2008-02-07 16:47:15 +11:00
xfs_quota.h
[XFS] remove dependency of the quota module on behaviors
2007-10-16 11:43:26 +10:00
xfs_refcache.h
xfs_rename.c
[XFS] Don't update mtime on rename source
2008-07-28 16:59:14 +10:00
xfs_rtalloc.c
[XFS] Use the generic bitops rather than implementing them ourselves.
2008-08-13 15:41:12 +10:00
xfs_rtalloc.h
[XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config
2008-02-07 18:16:43 +11:00
xfs_rw.c
[XFS] replace the XFS buf iodone semaphore with a completion
2008-08-13 16:36:11 +10:00
xfs_rw.h
[XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config
2008-02-07 18:16:43 +11:00
xfs_sb.h
[XFS] XFS: ASCII case-insensitive support
2008-07-28 16:58:42 +10:00
xfs_trans.c
[XFS] remove shouting-indirection macros from xfs_trans.h
2008-08-13 16:10:52 +10:00
xfs_trans.h
[XFS] remove shouting-indirection macros from xfs_trans.h
2008-08-13 16:10:52 +10:00
xfs_trans_ail.c
[XFS] replace remaining __FUNCTION__ occurrences
2008-04-18 11:51:26 +10:00
xfs_trans_buf.c
[XFS] remove shouting-indirection macros from xfs_trans.h
2008-08-13 16:10:52 +10:00
xfs_trans_extfree.c
[XFS] Radix tree based inode caching
2007-10-15 16:50:50 +10:00
xfs_trans_inode.c
[XFS] Remove unused arg from kmem_free()
2008-07-28 16:58:07 +10:00
xfs_trans_item.c
[XFS] remove shouting-indirection macros from xfs_trans.h
2008-08-13 16:10:52 +10:00
xfs_trans_priv.h
[XFS] Move AIL pushing into it's own thread
2008-02-07 18:22:51 +11:00
xfs_trans_space.h
xfs_types.h
[XFS] remove bhv_vname_t and xfs_rename code
2008-04-18 12:00:12 +10:00
xfs_utils.c
[XFS] Avoid directly referencing the VFS inode.
2008-08-13 15:45:15 +10:00
xfs_utils.h
[XFS] implement IHOLD/IRELE directly
2008-08-13 16:13:45 +10:00
xfs_vfsops.c
[XFS] kill bhv_vnode_t
2008-08-13 16:22:40 +10:00
xfs_vfsops.h
[XFS] merge xfs_mount into xfs_fs_fill_super
2008-07-28 16:58:21 +10:00
xfs_vnodeops.c
[XFS] Don't do I/O beyond eof when unreserving space
2008-09-17 16:52:50 +10:00
xfs_vnodeops.h
[XFS] Now that xfs_setattr is only used for attributes set from ->setattr
2008-07-28 16:59:37 +10:00