Yingping Lu [Wed, 22 Mar 2006 01:44:15 +0000 (12:44 +1100)]
[XFS] Fixing KDB's xrwtrc command, also added the current process id into
the trace.
SGI-PV: 948300
SGI-Modid: xfs-linux-melb:xfs-kern:
208069a
Signed-off-by: Yingping Lu <yingping@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Mon, 20 Mar 2006 02:25:48 +0000 (13:25 +1100)]
[XFS] Fix compiler warning from xfs_file_compat_invis_ioctl prototype.
SGI-PV: 904196
SGI-Modid: xfs-linux-melb:xfs-kern:25509a
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:30:01 +0000 (17:30 +1100)]
[XFS] remove bogus INT_GET for u8 variables in xfs_dir_leaf.c
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25506a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:29:56 +0000 (17:29 +1100)]
[XFS] endianess annotations for xfs_da_node_hdr_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25505a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:29:46 +0000 (17:29 +1100)]
[XFS] endianess annotations for xfs_da_node_entry_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25504a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:29:36 +0000 (17:29 +1100)]
[XFS] store xfs_attr_inactive_list_t in native endian
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25503a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:29:31 +0000 (17:29 +1100)]
[XFS] store xfs_attr_sf_sort in native endian
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25502a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:29:25 +0000 (17:29 +1100)]
[XFS] endianess annotations for xfs_attr_shortform_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25501a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:29:18 +0000 (17:29 +1100)]
[XFS] endianess annotations for xfs_attr_leaf_name_remote_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25500a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:29:09 +0000 (17:29 +1100)]
[XFS] endianess annotations for xfs_attr_leaf_name_local_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25499a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:29:02 +0000 (17:29 +1100)]
[XFS] endianess annotations for xfs_attr_leaf_entry_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25498a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:28:54 +0000 (17:28 +1100)]
[XFS] endianess annotations for xfs_attr_leaf_hdr_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25497a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:28:47 +0000 (17:28 +1100)]
[XFS] remove bogus INT_GET on u8 variables in xfs_dir2_block.c
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25496a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:28:40 +0000 (17:28 +1100)]
[XFS] endianess annotations for xfs_da_blkinfo_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25495a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:28:27 +0000 (17:28 +1100)]
[XFS] endianess annotations for XFS_DIR2_DATA_ENTRY_TAG_P
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25494a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:28:18 +0000 (17:28 +1100)]
[XFS] endianess annotations for xfs_dir2_leaf_entry_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25493a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:28:07 +0000 (17:28 +1100)]
[XFS] endianess annotations for xfs_dir2_leaf_hdr_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25492a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:27:56 +0000 (17:27 +1100)]
[XFS] endianess annotations for xfs_dir2_block_tail_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25491a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:27:47 +0000 (17:27 +1100)]
[XFS] endianess annotations for XFS_DIR2_DATA_UNUSED_TAG_P
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25490a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:27:37 +0000 (17:27 +1100)]
[XFS] endianess annotations for xfs_dir2_data_unused_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25489a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:27:28 +0000 (17:27 +1100)]
[XFS] endianess annotations for xfs_dir2_leaf_tail_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25487a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:27:19 +0000 (17:27 +1100)]
[XFS] endianess annotations for XFS_DIR2_LEAF_BESTS_P
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25486a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:27:07 +0000 (17:27 +1100)]
[XFS] endianess annotations for xfs_dir2_free_hdr_t
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25485a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:26:52 +0000 (17:26 +1100)]
[XFS] endianess annotations for xfs_dir2_data_hdr structure.
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25484a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:26:41 +0000 (17:26 +1100)]
[XFS] Flush and invalidate dirty pages at the start of a direct read also,
else we can hit a delalloc-extents-via-direct-io BUG.
SGI-PV: 949916
SGI-Modid: xfs-linux-melb:xfs-kern:25483a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:26:34 +0000 (17:26 +1100)]
[XFS] Merge Yingpings fix for a vn_count assert failure during QA -
another ENOSPC condition.
SGI-PV: 950784
SGI-Modid: xfs-linux-melb:xfs-kern:25482a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:26:25 +0000 (17:26 +1100)]
[XFS] Make couple names consitent, be more defensive on releasepage (and
prep for nobh, someday, maybe).
SGI-PV: 904196
SGI-Modid: xfs-linux-melb:xfs-kern:25481a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:26:14 +0000 (17:26 +1100)]
[XFS] Cleanup references to i_sem.
SGI-PV: 904196
SGI-Modid: xfs-linux-melb:xfs-kern:25480a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:26:04 +0000 (17:26 +1100)]
[XFS] Fix an infinite loop issue in bulkstat when a corrupt inode is
detected. Thanks to Roger Willcocks.
SGI-PV: 951054
SGI-Modid: xfs-linux-melb:xfs-kern:25477a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:25:46 +0000 (17:25 +1100)]
[XFS] Correct the dquot reservation component for the link transation.
SGI-PV: 904196
SGI-Modid: xfs-linux-melb:xfs-kern:25476a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Fri, 17 Mar 2006 06:25:36 +0000 (17:25 +1100)]
[XFS] Complete transition away from linvfs naming convention, finally.
SGI-PV: 947038
SGI-Modid: xfs-linux-melb:xfs-kern:25474a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Mandy Kirkconnell [Fri, 17 Mar 2006 06:25:04 +0000 (17:25 +1100)]
[XFS] There are a few problems with the new
xfs_bmap_search_multi_extents() wrapper function that I introduced in mod
xfs-linux:xfs-kern:
207393a. The function was added as a wrapper around
xfs_bmap_do_search_extents() to avoid breaking the top-of-tree CXFS
interface. The idea of the function was basically to extract the target
extent buffer (if muli- level extent allocation mode), then call
xfs_bmap_do_search_extents() with either a pointer to the first extent in
the target buffer or a pointer to the first extent in the file, depending
on which extent mode was being used. However, in addition to locating the
target extent record for block bno, xfs_bmap_do_search_extents() also sets
four parameters needed by the caller: *lastx, *eofp, *gotp, *prevp.
Passing only the target extent buffer to xfs_bmap_do_search_extents()
causes *eofp to be set incorrectly if the extent is at the end of the
target list but there are actually more extents in the next er_extbuf.
Likewise, if the extent is the first one in the buffer but NOT the first
in the file, *prevp is incorrectly set to NULL. Adding the needed
functionality to xfs_bmap_search_multi_extents() to re-set any incorrectly
set fields is redundant and makes the call to xfs_bmap_do_search_extents()
not make much sense when multi-level extent allocation mode is being used.
This mod basically extracts the two functional components from
xfs_bmap_do_search_extents(), with the intent of obsoleting/removing
xfs_bmap_do_search_extents() after the CXFS mult-level in-core extent
changes are checked in. The two components are: 1) The binary search to
locate the target extent record, and 2) Setting the four parameters needed
by the caller (*lastx, *eofp, *gotp, *prevp). Component 1: I created a
new function in xfs_inode.c called xfs_iext_bno_to_ext(), which executes
the binary search to find the target extent record.
xfs_bmap_search_multi_extents() has been modified to call
xfs_iext_bno_to_ext() rather than xfs_bmap_do_search_extents(). Component
2: The parameter setting functionality has been added to
xfs_bmap_search_multi_extents(), eliminating the need for
xfs_bmap_do_search_extents(). These changes make the removal of
xfs_bmap_do_search_extents() trival once the CXFS changes are in place.
They also allow us to maintain the current XFS interface, using the new
search function introduced in mod xfs-linux:xfs-kern:
207393a.
SGI-PV: 928864
SGI-Modid: xfs-linux-melb:xfs-kern:
207866a
Signed-off-by: Mandy Kirkconnell <alkirkco@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 03:07:53 +0000 (14:07 +1100)]
[XFS] Revert kiocb and vattr stack changes, theory is the AIO rework will
help here and vattr may be small enough.
SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:25423a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 03:07:36 +0000 (14:07 +1100)]
[XFS] Dynamically allocate the xfs_dinode_core_t structure to reduce our
stack footprint in xfs_ialloc_ag_alloc.
SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:25420a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Mandy Kirkconnell [Tue, 14 Mar 2006 03:07:24 +0000 (14:07 +1100)]
[XFS] Fix assert to check that in-core extents are inline only.
SGI-PV: 950678
SGI-Modid: xfs-linux-melb:xfs-kern:
207634a
Signed-off-by: Mandy Kirkconnell <alkirkco@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 03:06:18 +0000 (14:06 +1100)]
[XFS] Switch over from linvfs names for sb/quotactl operations for
consistent naming.
SGI-PV: 950556
SGI-Modid: xfs-linux-melb:xfs-kern:25382a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 03:00:51 +0000 (14:00 +1100)]
[XFS] Switch over from linvfs names for inode operations for consistent
naming.
SGI-PV: 950556
SGI-Modid: xfs-linux-melb:xfs-kern:25381a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 03:00:35 +0000 (14:00 +1100)]
[XFS] Switch over from linvfs names for file operations for consistent
naming.
SGI-PV: 950556
SGI-Modid: xfs-linux-melb:xfs-kern:25379a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:54:26 +0000 (13:54 +1100)]
[XFS] Switch over from linvfs names for address space ops for consistent
naming.
SGI-PV: 950556
SGI-Modid: xfs-linux-melb:xfs-kern:25378a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:47:32 +0000 (13:47 +1100)]
[XFS] Remove a couple of no-longer-used macros/types from XFS.
SGI-PV: 950556
SGI-Modid: xfs-linux-melb:xfs-kern:25377a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:34:16 +0000 (13:34 +1100)]
[XFS] Reduce stack usage within xfs_bmapi by rearranging some code,
splitting realtime/btree allocators apart. Based on Glens original
patches.
SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:25372a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:33:50 +0000 (13:33 +1100)]
[XFS] Reduce xfs_bmapi stack use by removing some local state variables,
and directly testing flags instead.
SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:25370a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:33:36 +0000 (13:33 +1100)]
[XFS] Dynamically allocate vattr in places it makes sense to do so, to
reduce stack use. Also re-use vattr in some places so that multiple
copies are not held on-stack.
SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:25369a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:32:54 +0000 (13:32 +1100)]
[XFS] Take a dentry structure off the stack into the data segment.
SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:25361a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:32:41 +0000 (13:32 +1100)]
[XFS] Reduce complexity in xfs_trans_init by pushing complex macros out
into functions and hence reduce the stack footprint there.
SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:25360a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:32:24 +0000 (13:32 +1100)]
[XFS] Dynamically allocate xfs_dir2_put_args_t structure to reduce stack
pressure in xfs_dir2_leaf_getdents routine.
SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:25359a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:30:48 +0000 (13:30 +1100)]
[XFS] Dynamically allocate local kiocb structures in readv/writev routines
to reduce stack footprint.
SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:25358a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Mandy Kirkconnell [Tue, 14 Mar 2006 02:30:23 +0000 (13:30 +1100)]
[XFS] 929045 567344 This mod introduces multi-level in-core file extent
functionality, building upon the new layout introduced in mod
xfs-linux:xfs-kern:
207390a. The new multi-level extent allocations are
only required for heavily fragmented files, so the old-style linear extent
list is used on files until the extents reach a pre-determined size of 4k.
4k buffers are used because this is the system page size on Linux i386 and
systems with larger page sizes don't seem to gain much, if anything, by
using their native page size as the extent buffer size. Also, using 4k
extent buffers everywhere provides a consistent interface for CXFS across
different platforms. The 4k extent buffers are managed by an indirection
array (xfs_ext_irec_t) which is basically just a pointer array with a bit
of extra information to keep track of the number of extents in each buffer
as well as the extent offset of each buffer. Major changes include: -
Add multi-level in-core file extent functionality to the xfs_iext_
subroutines introduced in mod: xfs-linux:xfs-kern:
207390a - Introduce 13
new subroutines which add functionality for multi-level in-core file
extents: xfs_iext_add_indirect_multi()
xfs_iext_remove_indirect() xfs_iext_realloc_indirect()
xfs_iext_indirect_to_direct() xfs_iext_bno_to_irec()
xfs_iext_idx_to_irec() xfs_iext_irec_init()
xfs_iext_irec_new() xfs_iext_irec_remove()
xfs_iext_irec_compact() xfs_iext_irec_compact_pages()
xfs_iext_irec_compact_full() xfs_iext_irec_update_extoffs()
SGI-PV: 928864
SGI-Modid: xfs-linux-melb:xfs-kern:
207393a
Signed-off-by: Mandy Kirkconnell <alkirkco@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Mandy Kirkconnell [Tue, 14 Mar 2006 02:29:52 +0000 (13:29 +1100)]
[XFS] 929045 567344 This mod re-organizes some of the in-core file extent
code to prepare for an upcoming mod which will introduce multi-level
in-core extent allocations. Although the in-core extent management is
using a new code path in this mod, the functionality remains the same.
Major changes include: - Introduce 10 new subroutines which re-orgainze
the existing code but do NOT change functionality:
xfs_iext_get_ext() xfs_iext_insert() xfs_iext_add()
xfs_iext_remove() xfs_iext_remove_inline()
xfs_iext_remove_direct() xfs_iext_realloc_direct()
xfs_iext_direct_to_inline() xfs_iext_inline_to_direct()
xfs_iext_destroy() - Remove 2 subroutines (functionality moved to new
subroutines above): xfs_iext_realloc() -replaced by xfs_iext_add()
and xfs_iext_remove() xfs_bmap_insert_exlist() - replaced by
xfs_iext_insert() xfs_bmap_delete_exlist() - replaced by
xfs_iext_remove() - Replace all hard-coded (indexed) extent assignments
with a call to xfs_iext_get_ext() - Replace all extent record pointer
arithmetic (ep++, ep--, base + lastx,..) with calls to
xfs_iext_get_ext() - Update comments to remove the idea of a single
"extent list" and introduce "extent record" terminology instead
SGI-PV: 928864
SGI-Modid: xfs-linux-melb:xfs-kern:
207390a
Signed-off-by: Mandy Kirkconnell <alkirkco@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:29:32 +0000 (13:29 +1100)]
[XFS] Additional mount time superblock validation checks.
SGI-PV: 950491
SGI-Modid: xfs-linux-melb:xfs-kern:25354a
Signed-off-by: Nathan Scott <nathans@sgi.com>
David Chinner [Tue, 14 Mar 2006 02:29:16 +0000 (13:29 +1100)]
[XFS] using a spinlock per cpu for superblock counter exclusion results in
a preēmpt counter overflow at 256p and above. Change the exclusion
mechanism to use atomic bit operations and busy wait loops to emulate the
spin lock exclusion mechanism but without the preempt count issues.
SGI-PV: 950027
SGI-Modid: xfs-linux-melb:xfs-kern:25338a
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:26:43 +0000 (13:26 +1100)]
[XFS] Add xfs_map_buffer helper, use it in a couple of places.
SGI-PV: 950211
SGI-Modid: xfs-linux-melb:xfs-kern:25312a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:26:27 +0000 (13:26 +1100)]
[XFS] Move some code around to avoid prototypes and prep for future
writepages code.
SGI-PV: 950211
SGI-Modid: xfs-linux-melb:xfs-kern:25311a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:26:09 +0000 (13:26 +1100)]
[XFS] Use XFS_VFSTOM in more places instead of open coding it.
SGI-PV: 947206
SGI-Modid: xfs-linux-melb:xfs-kern:25310a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Tim Shimmin [Tue, 14 Mar 2006 02:25:02 +0000 (13:25 +1100)]
[XFS] forgot a couple of calls to XLOG_VEC_SET_TYPE when porting from irix
to linux.
SGI-PV: 931456
SGI-Modid: xfs-linux-melb:xfs-kern:25238a
Signed-off-by: Tim Shimmin <tes@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:24:46 +0000 (13:24 +1100)]
[XFS] UUID endianess fix. uu_timelow is a 32bit field and needs to be
swapped with be32_to_cpu.
SGI-PV: 943272
SGI-Modid: xfs-linux-melb:xfs-kern:25232a
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
David Chinner [Tue, 14 Mar 2006 02:23:52 +0000 (13:23 +1100)]
[XFS] Add support for hotplug CPUs to the per-CPU superblock counters by
registering a notifier callback that listens to CPU up/down events to
modify the counters appropriately.
SGI-PV: 949726
SGI-Modid: xfs-linux-melb:xfs-kern:25214a
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:20:33 +0000 (13:20 +1100)]
[XFS] Make headers compile for more compiler variants; minor cleanup.
SGI-PV: 949432
SGI-Modid: xfs-linux-melb:xfs-kern:25184a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:20:13 +0000 (13:20 +1100)]
[XFS] When compiling with gcc 4.0 and CONFIG_SMP unset, there are many
warnings along the lines: xfs_linux.h:103:5: warning: "CONFIG_SMP" is not
defined.
SGI-PV: 946630
SGI-Modid: xfs-linux-melb:xfs-kern:25171a
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:19:55 +0000 (13:19 +1100)]
[XFS] Flag the XFS inode cache as in need of spreading also.
SGI-PV: 949073
SGI-Modid: xfs-linux-melb:xfs-kern:25170a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:19:08 +0000 (13:19 +1100)]
[XFS] Fix a mutex_destroy diagnostic about a locked-mutex-on-destroy from
quota code.
SGI-PV: 949149
SGI-Modid: xfs-linux-melb:xfs-kern:25123a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:18:19 +0000 (13:18 +1100)]
[XFS] Cleanup the use of zones/slabs, more consistent and allows flags to
be passed.
SGI-PV: 949073
SGI-Modid: xfs-linux-melb:xfs-kern:25122a
Signed-off-by: Nathan Scott <nathans@sgi.com>
David Chinner [Tue, 14 Mar 2006 02:13:09 +0000 (13:13 +1100)]
[XFS] On machines with more than 8 cpus, when running parallel I/O
threads, the incore superblock lock becomes the limiting factor for
buffered write throughput. Make the contended fields in the incore
superblock use per-cpu counters so that there is no global lock to limit
scalability.
SGI-PV: 946630
SGI-Modid: xfs-linux-melb:xfs-kern:25106a
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Nathan Scott [Tue, 14 Mar 2006 02:05:30 +0000 (13:05 +1100)]
[XFS] XFS propagates MS_NOATIME through two levels internally but doesn't
actually use it. Kill this dead code. Signed-off-by: Christoph Hellwig
<hch@lst.de>
SGI-PV: 904196
SGI-Modid: xfs-linux-melb:xfs-kern:25086a
Signed-off-by: Nathan Scott <nathans@sgi.com>
David Chinner [Tue, 14 Mar 2006 02:02:13 +0000 (13:02 +1100)]
[XFS] find_exported_dentry(). XFS does not need to use this symbol as it
is provided by a vector through the superblock export operations when the
filesystem is exported by NFS. The fix is to call that vector instead of
using the exported symbol directly.
SGI-PV: 948858
SGI-Modid: xfs-linux-melb:xfs-kern:25062a
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Herbert Xu [Mon, 13 Mar 2006 22:26:12 +0000 (14:26 -0800)]
[TCP]: Fix zero port problem in IPv6
When we link a socket into the hash table, we need to make sure that we
set the num/port fields so that it shows us with a non-zero port value
in proc/netlink and on the wire. This code and comment is copied over
from the IPv4 stack as is.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Andi Kleen [Sun, 12 Mar 2006 22:52:59 +0000 (23:52 +0100)]
[PATCH] x86-64: Fix up handling of non canonical user RIPs
EM64T CPUs have somewhat weird error reporting for non canonical RIPs in
SYSRET.
We can't handle any exceptions there because the exception handler would
end up running on the user stack which is unsafe.
To avoid problems any code that might end up with a user touched pt_regs
should return using int_ret_from_syscall. int_ret_from_syscall ends up
using IRET, which allows safe exceptions.
Cc: Ernie Petrides <petrides@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Patrick McHardy [Mon, 13 Mar 2006 04:40:43 +0000 (20:40 -0800)]
[NETFILTER]: arp_tables: fix NULL pointer dereference
The check is wrong and lets NULL-ptrs slip through since !IS_ERR(NULL)
is true.
Coverity #190
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Mon, 13 Mar 2006 04:35:12 +0000 (20:35 -0800)]
[IPV4/6]: Fix UFO error propagation
When ufo_append_data fails err is uninitialized, but returned back.
Strangely gcc doesn't notice it.
Coverity #901 and #902
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Mon, 13 Mar 2006 04:34:53 +0000 (20:34 -0800)]
[TCP]: tcp_highspeed: fix AIMD table out-of-bounds access
Covertiy #547
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Mon, 13 Mar 2006 04:34:27 +0000 (20:34 -0800)]
[NETLINK]: Fix use-after-free in netlink_recvmsg
The skb given to netlink_cmsg_recv_pktinfo is already freed, move it up
a few lines.
Coverity #948
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Mon, 13 Mar 2006 04:33:49 +0000 (20:33 -0800)]
[XFRM]: Fix leak in ah6_input
tmp_hdr is not freed when ipv6_clear_mutable_options fails.
Coverity #650
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Mon, 13 Mar 2006 04:33:22 +0000 (20:33 -0800)]
[NET_SCHED]: act_api: fix skb leak in error path
The skb is allocated by the function, so it needs to be freed instead
of trimmed on overrun.
Coverity #614
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Mon, 13 Mar 2006 04:32:47 +0000 (20:32 -0800)]
[NETFILTER]: nfnetlink_queue: fix possible NULL-ptr dereference
Fix NULL-ptr dereference when a config message for a non-existant
queue containing only an NFQA_CFG_PARAMS attribute is received.
Coverity #433
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Mon, 13 Mar 2006 00:41:27 +0000 (16:41 -0800)]
Merge branch 'upstream-fixes' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[PATCH] ahci: fix NULL pointer dereference detected by Coverity
Linus Torvalds [Sun, 12 Mar 2006 22:56:02 +0000 (14:56 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] iwmmxt thread state alignment
[ARM] 3350/1: Enable 1-wire on ARM
[ARM] 3356/1: Workaround for the ARM1136 I-cache invalidation problem
[ARM] 3355/1: NSLU2: remove propmt depends
[ARM] 3354/1: NAS100d: fix power led handling
[ARM] Fix muldi3.S
Russell King [Sun, 12 Mar 2006 22:36:06 +0000 (22:36 +0000)]
[ARM] iwmmxt thread state alignment
This patch removes the reliance of iwmmxt on hand coded alignments.
Since thread_info is always 8K aligned, specifying that fpstate is
8-byte aligned achieves the same effect without needing to resort
to hand coded alignments.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David S. Miller [Sun, 12 Mar 2006 02:51:49 +0000 (18:51 -0800)]
[TCP]: Fix tcp_tso_should_defer() when limit>=65536
That's >= a full sized TSO frame, so we should always
return 0 in that case.
Based upon a report and initial patch from Lachlan
Andrew, final patch suggested by Herbert Xu.
Signed-off-by: David S. Miller <davem@davemloft.net>
Gregor Maier [Sun, 12 Mar 2006 02:51:25 +0000 (18:51 -0800)]
[NETFILTER]: Fix wrong option spelling in Makefile for CONFIG_BRIDGE_EBT_ULOG
Signed-off-by: Gregor Maier <gregor@net.in.tum.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Brian Haley [Sun, 12 Mar 2006 02:50:14 +0000 (18:50 -0800)]
[IPV6]: fix ipv6_saddr_score struct element
The scope element in the ipv6_saddr_score struct used in
ipv6_dev_get_saddr() is an unsigned integer, but __ipv6_addr_src_scope()
returns a signed integer (and can return -1).
Signed-off-by: Brian Haley <brian.haley@hp.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Adrian Bunk [Sun, 12 Mar 2006 02:49:38 +0000 (18:49 -0800)]
[TG3] tg3_bus_string(): remove dead code
The Coverity checker spotted this dead code (note that (clock_ctrl == 7)
is already handled above).
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Dave Jones [Sun, 12 Mar 2006 02:49:13 +0000 (18:49 -0800)]
[TUN]: Fix leak in tun_get_user()
We're leaking an skb in a failure path in this function.
Coverity #632
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Garzik [Sun, 12 Mar 2006 00:55:26 +0000 (19:55 -0500)]
Merge branch 'master'
Tejun Heo [Sat, 11 Mar 2006 03:47:54 +0000 (12:47 +0900)]
[PATCH] ahci: fix NULL pointer dereference detected by Coverity
Fix NULL pointer dereference detected by the Coverity checker. Kill
dev -> pdev -> dev conversion while at it.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Linus Torvalds [Sat, 11 Mar 2006 22:12:55 +0000 (14:12 -0800)]
Linux 2.6.16-rc6
Gaah. Delayed. But all the better for it!
Andrew Morton [Wed, 8 Mar 2006 08:06:27 +0000 (00:06 -0800)]
[PATCH] 3c509: bus registration fix
- Don't call eisa_driver_unregister() if eisa_driver_register() failed.
- Properly propagate error values.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Sam Ravnborg [Wed, 8 Mar 2006 08:06:33 +0000 (00:06 -0800)]
[PATCH] de620: fix section mismatch warning
In latest -mm de620 gave following warning:
WARNING: drivers/net/de620.o - Section mismatch: reference to \
.init.text:de620_probe from .text between 'init_module' (at offset \
0x1682) and 'cleanup_module'
init_module() call de620_probe() which is declared __init.
Fix is to declare init_module() __init too.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jesper Juhl [Wed, 8 Mar 2006 08:06:31 +0000 (00:06 -0800)]
[PATCH] NE2000 Kconfig help entry improvement
Improve reference to PCI NE2K support in ISA NE2K documentation.
Original 2.4 patch From: Ged Haywood <ged@jubileegroup.co.uk>
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jon Mason [Fri, 10 Mar 2006 21:12:10 +0000 (15:12 -0600)]
[PATCH] dl2k: DMA freeing error
This patch fixes an error in the dl2k driver's DMA mapping/unmapping.
The adapter uses the upper 16bits of the DMA address for the buffer
size. However, this is not masked off when referencing the DMA
address, and can lead to errors by trying to free a DMA address out of
range.
Thanks,
Jon
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
David S. Miller [Sat, 11 Mar 2006 02:08:09 +0000 (18:08 -0800)]
[PATCH] Wrong return value corrupts free object in e1000 driver
For some reason, E1000's ->hard_start_xmit() routine returns -EFAULT
instead of one of the NETDEV_TX_* error codes. In fact, it frees up
the SKB before returning this. This makes the queueing layer think
the packet should be requeued and subsequently we corrupt a freed
object.
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Sat, 11 Mar 2006 18:23:48 +0000 (13:23 -0500)]
Merge branch 'for-jeff' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6
Antonino A. Daplas [Sat, 11 Mar 2006 11:27:28 +0000 (03:27 -0800)]
[PATCH] radeonfb: Fix static array overrun
radeonfb_parse_monitor_layout() will produce an array overrun if passed with a
substring of length higher than 4 (ie, "XXXXX,YYYYYY").
Coverity Bug 494
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Sat, 11 Mar 2006 11:27:27 +0000 (03:27 -0800)]
[PATCH] aty128fb: Fix array overrun
Fix static array overrun
Coverity Bug 556
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Sat, 11 Mar 2006 11:27:26 +0000 (03:27 -0800)]
[PATCH] tdfxfb: Fix buffer overrun
The pseudo_palette has room only for 16 entries, but tdfxfb_setcolreg may
attempt to write more.
Coverity Bug 557
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Sat, 11 Mar 2006 11:27:26 +0000 (03:27 -0800)]
[PATCH] intelfb: Fix buffer overrun
The pseudo_palette has room only for 16 entries, but intelfb_setcolreg will
attempt to write more.
Coverity Bug 558
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Sat, 11 Mar 2006 11:27:25 +0000 (03:27 -0800)]
[PATCH] savagefb: Fix kfree before use
par->edid is kfree'd before using in fb_edid_to_monspecs()
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Sat, 11 Mar 2006 11:27:24 +0000 (03:27 -0800)]
[PATCH] imsttfb: Fix resource leak
The struct info and device resource may not be released in the driver's error
path. Fix.
Coverity Bug 671
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Sat, 11 Mar 2006 11:27:23 +0000 (03:27 -0800)]
[PATCH] s1d13xxxfb: Fix resource leak
struct info may not be released in the driver's error path.
Coverity Bug 672
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Sat, 11 Mar 2006 11:27:23 +0000 (03:27 -0800)]
[PATCH] arcfb: Fix dereference before NULL check
info->par is dereferenced before info is checked for NULL. Fix.
Coverity Bug 833
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antonino A. Daplas [Sat, 11 Mar 2006 11:27:22 +0000 (03:27 -0800)]
[PATCH] kyrofb: Fix uninitialized value
Initialize Variable 'count' in DisableVGA to zero.
Coverity Bug 874
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>