aboutsummaryrefslogtreecommitdiff
path: root/fs/xfs
AgeCommit message (Collapse)Author
2006-03-14[XFS] using a spinlock per cpu for superblock counter exclusion results inDavid Chinner
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>
2006-03-14[XFS] Add xfs_map_buffer helper, use it in a couple of places. Nathan Scott
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>
2006-03-14[XFS] Move some code around to avoid prototypes and prep for futureNathan Scott
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>
2006-03-14[XFS] Use XFS_VFSTOM in more places instead of open coding it. Nathan Scott
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>
2006-03-14[XFS] forgot a couple of calls to XLOG_VEC_SET_TYPE when porting from irixTim Shimmin
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>
2006-03-14[XFS] UUID endianess fix. uu_timelow is a 32bit field and needs to beNathan Scott
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>
2006-03-14[XFS] Add support for hotplug CPUs to the per-CPU superblock counters byDavid Chinner
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>
2006-03-14[XFS] Make headers compile for more compiler variants; minor cleanup.Nathan Scott
SGI-PV: 949432 SGI-Modid: xfs-linux-melb:xfs-kern:25184a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-03-14[XFS] When compiling with gcc 4.0 and CONFIG_SMP unset, there are manyNathan Scott
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>
2006-03-14[XFS] Flag the XFS inode cache as in need of spreading also.Nathan Scott
SGI-PV: 949073 SGI-Modid: xfs-linux-melb:xfs-kern:25170a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-03-14[XFS] Fix a mutex_destroy diagnostic about a locked-mutex-on-destroy fromNathan Scott
quota code. SGI-PV: 949149 SGI-Modid: xfs-linux-melb:xfs-kern:25123a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-03-14[XFS] Cleanup the use of zones/slabs, more consistent and allows flags toNathan Scott
be passed. SGI-PV: 949073 SGI-Modid: xfs-linux-melb:xfs-kern:25122a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-03-14[XFS] On machines with more than 8 cpus, when running parallel I/ODavid Chinner
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>
2006-03-14[XFS] XFS propagates MS_NOATIME through two levels internally but doesn'tNathan Scott
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>
2006-03-14[XFS] find_exported_dentry(). XFS does not need to use this symbol as itDavid Chinner
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>
2006-02-28[XFS] Don't map non-uptodate buffers in xfs_probe_cluster; also fixesEric Sandeen
obscure corruption case SGI-PV: 942658 SGI-Modid: xfs-linux-melb:xfs-kern:207119a Signed-off-by: Eric Sandeen <sandeen@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-02-28[XFS] Reduce stack use during quota mounts (caused a panic). ThisNathan Scott
regressed recently via the fix for inherited quota inode attributes. SGI-PV: 947312 SGI-Modid: xfs-linux-melb:xfs-kern:25318a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-02-28[XFS] Fix a realtime allocator regression introduced by an old iget raceNathan Scott
fix. Noticed by Roger Willcocks. SGI-PV: 949821 SGI-Modid: xfs-linux-melb:xfs-kern:25257a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-02-07[XFS] Fix missing inode atime update from the utime syscall.Nathan Scott
SGI-PV: 949214 SGI-Modid: xfs-linux-melb:xfs-kern:25136a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-02-07[XFS] Account for the page we just wrote when we detect congestion duringDavid Chinner
the clustering of extra pages in a buffered write. SGI-PV: 949210 SGI-Modid: xfs-linux-melb:xfs-kern:25130a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-02-01[PATCH] Direct Migration V9: Avoid writeback / page_migrate() methodChristoph Lameter
Migrate a page with buffers without requiring writeback This introduces a new address space operation migratepage() that may be used by a filesystem to implement its own version of page migration. A version is provided that migrates buffers attached to pages. Some filesystems (ext2, ext3, xfs) are modified to utilize this feature. The swapper address space operation are modified so that a regular migrate_page() will occur for anonymous pages without writeback (migrate_pages forces every anonymous page to have a swap entry). Signed-off-by: Mike Kravetz <kravetz@us.ibm.com> Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-01[XFS] Fix regression in xfs_buf_rele dealing with non-hashed buffers, asNathan Scott
occur during log replay. Novell bug 145204, Fedora bug 177848. SGI-PV: 948860 SGI-Modid: xfs-linux-melb:xfs-kern:25064a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-02-01[XFS] Interim solution for attribute insertion failure during fileYingping Lu
creation due to ENOSPC. The current solution removes the inode when the attribute insertion fails. Long term solution would be to make the inode creation and attribute insertion atomic. SGI-PV: 947610 SGI-Modid: xfs-linux-melb:xfs-kern:205193a Signed-off-by: Yingping Lu <yingping@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-18[XFS] Fix a race in xfs_submit_ioend() where we can be completing I/O forDavid Chinner
a page while we are still submitting other buffers on the same page for I/O. SGI-PV: 948197 SGI-Modid: xfs-linux-melb:xfs-kern:25004a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-15Merge git://oss.sgi.com:8090/oss/git/xfs-2.6Linus Torvalds
2006-01-16[XFS] remove no-longer-needed IS_NOATIME macro, twas just a build workaroundNathan Scott
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-16[XFS] mutex fallout - fix debug builds and remove no-longer-useful comment.Nathan Scott
Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-16[XFS] Fix symlink creation too, with respect to initialising SELinuxNathan Scott
context. SGI-PV: 946762 SGI-Modid: xfs-linux-melb:xfs-kern:24983a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-15return statement cleanup - kill pointless parenthesesJesper Juhl
This patch removes pointless parentheses from return statements. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-01-12Merge git://oss.sgi.com:8090/oss/git/xfs-2.6Linus Torvalds
2006-01-11[PATCH] capable/capability.h (fs/)Randy Dunlap
fs: Use <linux/capability.h> where capable() is used. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Acked-by: Tim Schmielau <tim@physik3.uni-rostock.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-11[PATCH] move capable() to capability.hRandy.Dunlap
- Move capable() from sched.h to capability.h; - Use <linux/capability.h> where capable() is used (in include/, block/, ipc/, kernel/, a few drivers/, mm/, security/, & sound/; many more drivers/ to go) Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-12Merge HEAD from oss.sgi.com:/oss/git/linux-2.6.git Nathan Scott
2006-01-12[XFS] Fix follow_link when dealing with symlinks larger than 256 bytes. Nathan Scott
Thanks to Yamamoto Takashi. SGI-PV: 947953 SGI-Modid: xfs-linux-melb:xfs-kern:24962a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-12[XFS] Merge in trivial changes, sync up headers with userspaceNathan Scott
equivalents. SGI-PV: 907752 SGI-Modid: xfs-linux-melb:xfs-kern:24961a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] Fix compiler warnings from older gcc versions wrt printfalikeNathan Scott
arguments. SGI-PV: 907752 SGI-Modid: xfs-linux-melb:xfs-kern:24901a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] Fix some build fallout from atime changes.Nathan Scott
SGI-PV: 946679 SGI-Modid: xfs-linux-melb:xfs-kern:24899a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] remove XFS_LOG_RES_DEBUG and turn on the res history all the time toTim Shimmin
get more useful error info on space for trans items SGI-PV: 947110 SGI-Modid: xfs-linux-melb:xfs-kern:24886a Signed-off-by: Tim Shimmin <tes@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] xfssyncd is responsible for flushing inode or device's data byYingping Lu
extracting the work from its queue. In addition, this processing also decrement the inode's i_count. If there are any remaining works in queue before this process terminates, we have unbalanced increment and decrement of i_count. Thus it can cause assertion failure of vn_count. The fix allows xyssyncd to process any remaining work before it is shutdown. SGI-PV: 945935 SGI-Modid: xfs-linux-melb:xfs-kern:203970a Signed-off-by: Yingping Lu <yingping@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] add helper to get xfs_inode from vnodeChristoph Hellwig
SGI-PV: 947206 SGI-Modid: xfs-linux-melb:xfs-kern:203960a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] Fix up offset type inconsistencies and gcc warnings from earlierNathan Scott
changes. SGI-PV: 947038 SGI-Modid: xfs-linux-melb:xfs-kern:24875a Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] fix up per-device xfsbufdChristoph Hellwig
SGI-PV: 947098 SGI-Modid: xfs-linux-melb:xfs-kern:203831a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] fix writeback control handling fix a reversed condition on where toChristoph Hellwig
trylock and deal with block layer congestion properly. Patch from David Chinner and Christoph Hellwig. SGI-PV: 947118 SGI-Modid: xfs-linux-melb:xfs-kern:203830a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] cluster rewrites We can cluster mapped pages aswell, this improvesChristoph Hellwig
performances on rewrites since we can reduce the number of allocator calls. SGI-PV: 947118 SGI-Modid: xfs-linux-melb:xfs-kern:203829a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] pass full 64bit offsets to xfs_add_to_ioendChristoph Hellwig
SGI-PV: 947118 SGI-Modid: xfs-linux-melb:xfs-kern:203828a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] consolidate some code in xfs_page_state_convert The unmapped bufferChristoph Hellwig
case is very similar to delayed and unwritten extends. Reorganize the code to share some code for these cases. SGI-PV: 947118 SGI-Modid: xfs-linux-melb:xfs-kern:203827a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] various fixes for xfs_convert_page fix various bogusities inChristoph Hellwig
handling offets From David Chinner and Christoph Hellwig SGI-PV: 947118 SGI-Modid: xfs-linux-melb:xfs-kern:203826a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] clean up the xfs_offset_to_map interface Currently we pass a structChristoph Hellwig
page and a relative offset into that page around, and returns the current xfs_iomap_t if the block at the specified offset fits into it, or a NULL pointer otherwise. This patch passed the full 64bit offset into the inode that all callers have anyway, and changes the return value to a simple boolean. Also the function gets a more descriptive name: xfs_iomap_valid. SGI-PV: 947118 SGI-Modid: xfs-linux-melb:xfs-kern:203825a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] use pagevec lookups This reduces the time spend in the radix treeChristoph Hellwig
lookups and avoids unessecary look roundtrips. SGI-PV: 947118 SGI-Modid: xfs-linux-melb:xfs-kern:203823a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
2006-01-11[XFS] Initial pass at going directly-to-bio on the buffered IO path. ThisChristoph Hellwig
allows us to submit much larger I/Os instead of sending down lots of small buffer_heads. To do this we need to have a rather complicated I/O submission and completion tracking infrastructure. Part of the latter has been merged already a long time ago for direct I/O support. Part of the problem is that we need to track sub-pagesize regions and for that we still need buffer_heads for the time beeing. Long-term I hope we can move to better data strucutures and/or maybe move this to fs/mpage.c instead of having it in XFS. Original patch from Nathan Scott with various updates from David Chinner and Christoph Hellwig. SGI-PV: 947118 SGI-Modid: xfs-linux-melb:xfs-kern:203822a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>