aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs
Commit message (Collapse)AuthorAge
...
| * [XFS] endianess annotations for xfs_da_blkinfo_t Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for XFS_DIR2_DATA_ENTRY_TAG_P Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for xfs_dir2_leaf_entry_t Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for xfs_dir2_leaf_hdr_t Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for xfs_dir2_block_tail_t Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for XFS_DIR2_DATA_UNUSED_TAG_P Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for xfs_dir2_data_unused_t Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for xfs_dir2_leaf_tail_t Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for XFS_DIR2_LEAF_BESTS_P Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for xfs_dir2_free_hdr_t Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | 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>
| * [XFS] endianess annotations for xfs_dir2_data_hdr structure.Nathan Scott2006-03-17
| | | | | | | | | | | | | | SGI-PV: 943272 SGI-Modid: xfs-linux-melb:xfs-kern:25484a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Flush and invalidate dirty pages at the start of a direct read also,Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | | | 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>
| * [XFS] Merge Yingpings fix for a vn_count assert failure during QA -Nathan Scott2006-03-17
| | | | | | | | | | | | | | | | | | another ENOSPC condition. SGI-PV: 950784 SGI-Modid: xfs-linux-melb:xfs-kern:25482a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Make couple names consitent, be more defensive on releasepage (andNathan Scott2006-03-17
| | | | | | | | | | | | | | | | | | prep for nobh, someday, maybe). SGI-PV: 904196 SGI-Modid: xfs-linux-melb:xfs-kern:25481a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Cleanup references to i_sem.Nathan Scott2006-03-17
| | | | | | | | | | | | | | SGI-PV: 904196 SGI-Modid: xfs-linux-melb:xfs-kern:25480a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Fix an infinite loop issue in bulkstat when a corrupt inode isNathan Scott2006-03-17
| | | | | | | | | | | | | | | | | | detected. Thanks to Roger Willcocks. SGI-PV: 951054 SGI-Modid: xfs-linux-melb:xfs-kern:25477a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Correct the dquot reservation component for the link transation.Nathan Scott2006-03-17
| | | | | | | | | | | | | | SGI-PV: 904196 SGI-Modid: xfs-linux-melb:xfs-kern:25476a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Complete transition away from linvfs naming convention, finally.Nathan Scott2006-03-17
| | | | | | | | | | | | | | SGI-PV: 947038 SGI-Modid: xfs-linux-melb:xfs-kern:25474a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] There are a few problems with the newMandy Kirkconnell2006-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Revert kiocb and vattr stack changes, theory is the AIO rework willNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | 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>
| * [XFS] Dynamically allocate the xfs_dinode_core_t structure to reduce ourNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | 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>
| * [XFS] Fix assert to check that in-core extents are inline only.Mandy Kirkconnell2006-03-13
| | | | | | | | | | | | | | | | 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>
| * [XFS] Switch over from linvfs names for sb/quotactl operations forNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | consistent naming. SGI-PV: 950556 SGI-Modid: xfs-linux-melb:xfs-kern:25382a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Switch over from linvfs names for inode operations for consistentNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | naming. SGI-PV: 950556 SGI-Modid: xfs-linux-melb:xfs-kern:25381a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Switch over from linvfs names for file operations for consistentNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | naming. SGI-PV: 950556 SGI-Modid: xfs-linux-melb:xfs-kern:25379a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Switch over from linvfs names for address space ops for consistentNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | naming. SGI-PV: 950556 SGI-Modid: xfs-linux-melb:xfs-kern:25378a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Remove a couple of no-longer-used macros/types from XFS.Nathan Scott2006-03-13
| | | | | | | | | | | | | | SGI-PV: 950556 SGI-Modid: xfs-linux-melb:xfs-kern:25377a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Reduce stack usage within xfs_bmapi by rearranging some code,Nathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Reduce xfs_bmapi stack use by removing some local state variables,Nathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | and directly testing flags instead. SGI-PV: 947312 SGI-Modid: xfs-linux-melb:xfs-kern:25370a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Dynamically allocate vattr in places it makes sense to do so, toNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Take a dentry structure off the stack into the data segment.Nathan Scott2006-03-13
| | | | | | | | | | | | | | SGI-PV: 947312 SGI-Modid: xfs-linux-melb:xfs-kern:25361a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Reduce complexity in xfs_trans_init by pushing complex macros outNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | 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>
| * [XFS] Dynamically allocate xfs_dir2_put_args_t structure to reduce stackNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | 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>
| * [XFS] Dynamically allocate local kiocb structures in readv/writev routinesNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | to reduce stack footprint. SGI-PV: 947312 SGI-Modid: xfs-linux-melb:xfs-kern:25358a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] 929045 567344 This mod introduces multi-level in-core file extentMandy Kirkconnell2006-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] 929045 567344 This mod re-organizes some of the in-core file extentMandy Kirkconnell2006-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Additional mount time superblock validation checks.Nathan Scott2006-03-13
| | | | | | | | | | | | | | SGI-PV: 950491 SGI-Modid: xfs-linux-melb:xfs-kern:25354a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] using a spinlock per cpu for superblock counter exclusion results inDavid Chinner2006-03-13
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Add xfs_map_buffer helper, use it in a couple of places. Nathan Scott2006-03-13
| | | | | | | | | | | | | | | | 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>
| * [XFS] Move some code around to avoid prototypes and prep for futureNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Use XFS_VFSTOM in more places instead of open coding it. Nathan Scott2006-03-13
| | | | | | | | | | | | | | | | 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>
| * [XFS] forgot a couple of calls to XLOG_VEC_SET_TYPE when porting from irixTim Shimmin2006-03-13
| | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] UUID endianess fix. uu_timelow is a 32bit field and needs to beNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Add support for hotplug CPUs to the per-CPU superblock counters byDavid Chinner2006-03-13
| | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Make headers compile for more compiler variants; minor cleanup.Nathan Scott2006-03-13
| | | | | | | | | | | | | | SGI-PV: 949432 SGI-Modid: xfs-linux-melb:xfs-kern:25184a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] When compiling with gcc 4.0 and CONFIG_SMP unset, there are manyNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Flag the XFS inode cache as in need of spreading also.Nathan Scott2006-03-13
| | | | | | | | | | | | | | SGI-PV: 949073 SGI-Modid: xfs-linux-melb:xfs-kern:25170a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Fix a mutex_destroy diagnostic about a locked-mutex-on-destroy fromNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | quota code. SGI-PV: 949149 SGI-Modid: xfs-linux-melb:xfs-kern:25123a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Cleanup the use of zones/slabs, more consistent and allows flags toNathan Scott2006-03-13
| | | | | | | | | | | | | | | | | | be passed. SGI-PV: 949073 SGI-Modid: xfs-linux-melb:xfs-kern:25122a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] On machines with more than 8 cpus, when running parallel I/ODavid Chinner2006-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>