aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6
Commit message (Collapse)AuthorAgeFilesLines
* [XFS] Don't map non-uptodate buffers in xfs_probe_cluster; also fixesEric Sandeen2006-02-281-1/+1
| | | | | | | | | | 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>
* [XFS] Fix missing inode atime update from the utime syscall.Nathan Scott2006-02-071-0/+2
| | | | | | | SGI-PV: 949214 SGI-Modid: xfs-linux-melb:xfs-kern:25136a Signed-off-by: Nathan Scott <nathans@sgi.com>
* [XFS] Account for the page we just wrote when we detect congestion duringDavid Chinner2006-02-071-1/+2
| | | | | | | | | | 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>
* [PATCH] Direct Migration V9: Avoid writeback / page_migrate() methodChristoph Lameter2006-02-012-0/+2
| | | | | | | | | | | | | | | | | | | 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>
* [XFS] Fix regression in xfs_buf_rele dealing with non-hashed buffers, asNathan Scott2006-02-011-0/+7
| | | | | | | | | 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>
* [XFS] Interim solution for attribute insertion failure during fileYingping Lu2006-02-011-18/+32
| | | | | | | | | | | | 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>
* [XFS] Fix a race in xfs_submit_ioend() where we can be completing I/O forDavid Chinner2006-01-181-3/+26
| | | | | | | | | | | 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>
* [XFS] remove no-longer-needed IS_NOATIME macro, twas just a build workaroundNathan Scott2006-01-161-3/+0
| | | | | Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nathan Scott <nathans@sgi.com>
* [XFS] mutex fallout - fix debug builds and remove no-longer-useful comment.Nathan Scott2006-01-161-11/+1
| | | | Signed-off-by: Nathan Scott <nathans@sgi.com>
* [XFS] Fix symlink creation too, with respect to initialising SELinuxNathan Scott2006-01-161-5/+8
| | | | | | | | | context. SGI-PV: 946762 SGI-Modid: xfs-linux-melb:xfs-kern:24983a Signed-off-by: Nathan Scott <nathans@sgi.com>
* Merge git://oss.sgi.com:8090/oss/git/xfs-2.6Linus Torvalds2006-01-1215-1732/+1698
|\
| * [XFS] Fix follow_link when dealing with symlinks larger than 256 bytes. Nathan Scott2006-01-121-4/+4
| | | | | | | | | | | | | | | | | | Thanks to Yamamoto Takashi. SGI-PV: 947953 SGI-Modid: xfs-linux-melb:xfs-kern:24962a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Fix some build fallout from atime changes.Nathan Scott2006-01-111-0/+19
| | | | | | | | | | | | | | SGI-PV: 946679 SGI-Modid: xfs-linux-melb:xfs-kern:24899a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] xfssyncd is responsible for flushing inode or device's data byYingping Lu2006-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] add helper to get xfs_inode from vnodeChristoph Hellwig2006-01-114-11/+20
| | | | | | | | | | | | | | | | 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>
| * [XFS] Fix up offset type inconsistencies and gcc warnings from earlierNathan Scott2006-01-111-8/+8
| | | | | | | | | | | | | | | | | | changes. SGI-PV: 947038 SGI-Modid: xfs-linux-melb:xfs-kern:24875a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] fix up per-device xfsbufdChristoph Hellwig2006-01-111-3/+2
| | | | | | | | | | | | | | | | 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>
| * [XFS] fix writeback control handling fix a reversed condition on where toChristoph Hellwig2006-01-111-3/+12
| | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] cluster rewrites We can cluster mapped pages aswell, this improvesChristoph Hellwig2006-01-111-16/+47
| | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] pass full 64bit offsets to xfs_add_to_ioendChristoph Hellwig2006-01-111-12/+6
| | | | | | | | | | | | | | | | 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>
| * [XFS] consolidate some code in xfs_page_state_convert The unmapped bufferChristoph Hellwig2006-01-111-57/+34
| | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] various fixes for xfs_convert_page fix various bogusities inChristoph Hellwig2006-01-111-37/+52
| | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] clean up the xfs_offset_to_map interface Currently we pass a structChristoph Hellwig2006-01-111-83/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] use pagevec lookups This reduces the time spend in the radix treeChristoph Hellwig2006-01-111-56/+88
| | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Initial pass at going directly-to-bio on the buffered IO path. ThisChristoph Hellwig2006-01-114-364/+431
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [XFS] Complete the pagebuf -> xfs_buf naming convention transition,Nathan Scott2006-01-118-1112/+891
| | | | | | | | | | | | | | | | | | finally. SGI-PV: 947038 SGI-Modid: xfs-linux-melb:xfs-kern:24866a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Fixed delayed_blks assert failure during umount. The delayed_blksYingping Lu2006-01-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | was caused by ENOSPC but not Rreclaimed by xfs_release or xfs_inactive. The fix changed the condition in xfs_release and xfs_inactive to invoke xfs_inactive_free_eofblocks for this special case, changed xfs_inactive_free_eofblocks to clean the delayed blks after eof. It also changed xfs_write to set correct eof when ENOSPC occurs. SGI-PV: 946267 SGI-Modid: xfs-linux-melb:xfs-kern:203788a Signed-off-by: Yingping Lu <yingping@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Introduce per-filesystem delwri pagebuf flushing to reduceDavid Chinner2006-01-112-44/+101
| | | | | | | | | | | | | | | | | | | | | | contention between filesystems and prevent deadlocks between filesystems when a flush dependency exists between them. SGI-PV: 947098 SGI-Modid: xfs-linux-melb:xfs-kern:24844a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] take out the call to vn_mark_bad() used when acl inherit fails andTim Shimmin2006-01-111-2/+0
| | | | | | | | | | | | | | | | | | | | it needs to back out the inode creation. Tested by xfs_tests/077. SGI-PV: 930841 SGI-Modid: xfs-linux-melb:xfs-kern:24842a Signed-off-by: Tim Shimmin <tes@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Add an XFS callout to security_inode_init_security; SE Linux is notNathan Scott2006-01-111-0/+37
| | | | | | | | | | | | | | | | | | functional with XFS without this change. SGI-PV: 946762 SGI-Modid: xfs-linux-melb:xfs-kern:24766a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] fix, speedup and simplify atime handling let the VFS handle atimeChristoph Hellwig2006-01-113-41/+24
| | | | | | | | | | | | | | | | | | | | updates and only sync back to the xfs inode when nessecary SGI-PV: 946679 SGI-Modid: xfs-linux-melb:xfs-kern:203362a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] remove unused vars, args, & unneeded intermediate vars from zeroingEric Sandeen2006-01-111-26/+10
| | | | | | | | | | | | | | | | | | | | code SGI-PV: 946641 SGI-Modid: xfs-linux-melb:xfs-kern:203328a Signed-off-by: Eric Sandeen <sandeen@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Ensure max diosize reported is aligned with minimum diosize.Nathan Scott2006-01-111-1/+1
| | | | | | | | | | | | | | SGI-PV: 910890 SGI-Modid: xfs-linux-melb:xfs-kern:24689a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Make d_maxiosz report the real maximum (INT_MAX) so we dontNathan Scott2006-01-111-2/+1
| | | | | | | | | | | | | | | | | | incorrectly limit people using this interface to size IO buffers. SGI-PV: 910890 SGI-Modid: xfs-linux-melb:xfs-kern:24657a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Mark some lookup tables const. Thanks to Arjan van de Ven forChristoph Hellwig2006-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | spotting these. SGI-PV: 946028 SGI-Modid: xfs-linux-melb:xfs-kern:202617a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] enable write barriers by defaultChristoph Hellwig2006-01-111-0/+3
| | | | | | | | | | | | | | | | SGI-PV: 912426 SGI-Modid: xfs-linux-melb:xfs-kern:201981a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
* | [PATCH] capable/capability.h (fs/)Randy Dunlap2006-01-112-0/+2
| | | | | | | | | | | | | | | | | | 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>
* | [PATCH] move capable() to capability.hRandy.Dunlap2006-01-111-1/+3
|/ | | | | | | | | | | | | - 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>
* [PATCH] don't include ioctl32.h in driversChristoph Hellwig2006-01-101-1/+0
| | | | | | | | | | | These days ioctl32.h is only used for communication of fs/compat.c and fs/compat_ioctl.c and doesn't contain anything of interest to drivers. Remove inclusion in various drivers. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] per-mountpoint noatime/nodiratimeChristoph Hellwig2006-01-101-0/+3
| | | | | | | | | | | | | | | | | | | | Turn noatime and nodiratime into per-mount instead of per-sb flags. After all the preparations this is a rather trivial patch. The mount code needs to treat the two options as per-mount instead of per-superblock, and touch_atime needs to be changed to check the new MNT_ flags in addition to the MS_ flags that are kept for filesystems that are always noatime/nodiratime but not user settable anymore. Besides that core code only nfs needed an update because it's leaving atime updates to the server and thus sets the S_NOATIME flag on every inode, but needs to know whether it's a real noatime mount for an getattr optimization. While we're at it I've killed the IS_NOATIME/IS_NODIRATIME macros that were only used by touch_atime. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] replace inode_update_time with file_update_timeChristoph Hellwig2006-01-101-1/+1
| | | | | | | | | | | | | | | To allow various options to work per-mount instead of per-sb we need a struct vfsmount when updating ctime and mtime. This preparation patch replaces the inode_update_time routine with a file_update_atime routine so we can easily get at the vfsmount. (and the file makes more sense in this context anyway). Also get rid of the unused second argument - we always want to update the ctime when calling this routine. Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Al Viro <viro@ftp.linux.org.uk> Cc: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] remove xfs xattr permission checksChristoph Hellwig2006-01-101-0/+5
| | | | | | | | | | | | remove checks now in the VFS XFS has an additional xattr interface through obscure ioctl. it requires raised capabilities but we need to add some read-only/immutable checks anyway Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Nathan Scott <nathans@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_semJes Sorensen2006-01-092-10/+10
| | | | | | | | | | | | | This patch converts the inode semaphore to a mutex. I have tested it on XFS and compiled as much as one can consider on an ia64. Anyway your luck with it might be different. Modified-by: Ingo Molnar <mingo@elte.hu> (finished the conversion) Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* [PATCH] mutex subsystem, semaphore to mutex: XFSJes Sorensen2006-01-091-7/+3
| | | | | | | | | | This patch switches XFS over to use the new mutex code directly as opposed to the previous workaround patch I posted earlier that avoided the namespace clash by forcing it back to semaphores. This falls in the 'works for me<tm>' category. Signed-off-by: Jes Sorensen <jes@trained-monkey.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait)OGAWA Hirofumi2006-01-081-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch add EXPORT_SYMBOL(filemap_write_and_wait) and use it. See mm/filemap.c: And changes the filemap_write_and_wait() and filemap_write_and_wait_range(). Current filemap_write_and_wait() doesn't wait if filemap_fdatawrite() returns error. However, even if filemap_fdatawrite() returned an error, it may have submitted the partially data pages to the device. (e.g. in the case of -ENOSPC) <quotation> Andrew Morton writes, If filemap_fdatawrite() returns an error, this might be due to some I/O problem: dead disk, unplugged cable, etc. Given the generally crappy quality of the kernel's handling of such exceptions, there's a good chance that the filemap_fdatawait() will get stuck in D state forever. </quotation> So, this patch doesn't wait if filemap_fdatawrite() returns the -EIO. Trond, could you please review the nfs part? Especially I'm not sure, nfs must use the "filemap_fdatawrite(inode->i_mapping) == 0", or not. Acked-by: Trond Myklebust <trond.myklebust@fys.uio.no> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [XFS] Fix a 32 bit value wraparound when providing a mapping for a largeNathan Scott2005-11-251-7/+6
| | | | | | | | | direct write. SGI-PV: 944820 SGI-Modid: xfs-linux-melb:xfs-kern:24351a Signed-off-by: Nathan Scott <nathans@sgi.com>
* [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reasonOlaf Hering2005-11-091-1/+0
| | | | | | | | | | | | | | | | | | | | | This patch removes almost all inclusions of linux/version.h. The 3 #defines are unused in most of the touched files. A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is unfortunatly in linux/version.h. There are also lots of #ifdef for long obsolete kernels, this was not touched. In a few places, the linux/version.h include was move to where the LINUX_VERSION_CODE was used. quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'` search pattern: /UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] mm: rename kmem_cache_s to kmem_cachePekka J Enberg2005-11-071-2/+2
| | | | | | | | | This patch renames struct kmem_cache_s to kmem_cache so we can start using it instead of kmem_cache_t typedef. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [XFS] Remove no-longer-used qsort source.Nathan Scott2005-11-041-4/+4
| | | | Signed-off-by: Nathan Scott <nathans@sgi.com>
* [XFS] Cleanup cosmetic differences between source trees.Nathan Scott2005-11-032-9/+8
| | | | Signed-off-by: Nathan Scott <nathans@sgi.com>