- 16 10月, 2014 2 次提交
-
-
由 Anton Altaparmakov 提交于
Signed-off-by: NAnton Altaparmakov <anton@tuxera.com>
-
由 Anton Altaparmakov 提交于
in preparation for them diverging. Signed-off-by: NAnton Altaparmakov <anton@tuxera.com>
-
- 22 5月, 2013 1 次提交
-
-
由 Lukas Czerner 提交于
Currently there is no way to truncate partial page where the end truncate point is not at the end of the page. This is because it was not needed and the functionality was enough for file system truncate operation to work properly. However more file systems now support punch hole feature and it can benefit from mm supporting truncating page just up to the certain point. Specifically, with this functionality truncate_inode_pages_range() can be changed so it supports truncating partial page at the end of the range (currently it will BUG_ON() if 'end' is not at the end of the page). This commit changes the invalidatepage() address space operation prototype to accept range to be invalidated and update all the instances for it. We also change the block_invalidatepage() in the same way and actually make a use of the new length argument implementing range invalidation. Actual file system implementations will follow except the file systems where the changes are really simple and should not change the behaviour in any way .Implementation for truncate_page_range() which will be able to accept page unaligned ranges will follow as well. Signed-off-by: NLukas Czerner <lczerner@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Hugh Dickins <hughd@google.com>
-
- 20 3月, 2012 1 次提交
-
-
由 Cong Wang 提交于
Signed-off-by: NCong Wang <amwang@redhat.com>
-
- 10 3月, 2011 1 次提交
-
-
由 Jens Axboe 提交于
Code has been converted over to the new explicit on-stack plugging, and delay users have been converted to use the new API for that. So lets kill off the old plugging along with aops->sync_page(). Signed-off-by: NJens Axboe <jaxboe@fusionio.com>
-
- 30 3月, 2010 1 次提交
-
-
由 Tejun Heo 提交于
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: NTejun Heo <tj@kernel.org> Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
-
- 16 9月, 2009 1 次提交
-
-
由 Andi Kleen 提交于
Enable removing of corrupted pages through truncation for a bunch of file systems: ext*, xfs, gfs2, ocfs2, ntfs These should cover most server needs. I chose the set of migration aware file systems for this for now, assuming they have been especially audited. But in general it should be safe for all file systems on the data area that support read/write and truncate. Caveat: the hardware error handler does not take i_mutex for now before calling the truncate function. Is that ok? Cc: tytso@mit.edu Cc: hch@infradead.org Cc: mfasheh@suse.com Cc: aia21@cantab.net Cc: hugh.dickins@tiscali.co.uk Cc: swhiteho@redhat.com Signed-off-by: NAndi Kleen <ak@linux.intel.com>
-
- 05 8月, 2008 1 次提交
-
-
由 Nick Piggin 提交于
Like the page lock change, this also requires name change, so convert the raw test_and_set bitop to a trylock. Signed-off-by: NNick Piggin <npiggin@suse.de> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 06 2月, 2008 1 次提交
-
-
由 Christoph Lameter 提交于
Simplify page cache zeroing of segments of pages through 3 functions zero_user_segments(page, start1, end1, start2, end2) Zeros two segments of the page. It takes the position where to start and end the zeroing which avoids length calculations and makes code clearer. zero_user_segment(page, start, end) Same for a single segment. zero_user(page, start, length) Length variant for the case where we know the length. We remove the zero_user_page macro. Issues: 1. Its a macro. Inline functions are preferable. 2. The KM_USER0 macro is only defined for HIGHMEM. Having to treat this special case everywhere makes the code needlessly complex. The parameter for zeroing is always KM_USER0 except in one single case that we open code. Avoiding KM_USER0 makes a lot of code not having to be dealing with the special casing for HIGHMEM anymore. Dealing with kmap is only necessary for HIGHMEM configurations. In those configurations we use KM_USER0 like we do for a series of other functions defined in highmem.h. Since KM_USER0 is depends on HIGHMEM the existing zero_user_page function could not be a macro. zero_user_* functions introduced here can be be inline because that constant is not used when these functions are called. Also extract the flushing of the caches to be outside of the kmap. [akpm@linux-foundation.org: fix nfs and ntfs build] [akpm@linux-foundation.org: fix ntfs build some more] Signed-off-by: NChristoph Lameter <clameter@sgi.com> Cc: Steven French <sfrench@us.ibm.com> Cc: Michael Halcrow <mhalcrow@us.ibm.com> Cc: <linux-ext4@vger.kernel.org> Cc: Steven Whitehouse <swhiteho@redhat.com> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: "J. Bruce Fields" <bfields@fieldses.org> Cc: Anton Altaparmakov <aia21@cantab.net> Cc: Mark Fasheh <mark.fasheh@oracle.com> Cc: David Chinner <dgc@sgi.com> Cc: Michael Halcrow <mhalcrow@us.ibm.com> Cc: Steven French <sfrench@us.ibm.com> Cc: Steven Whitehouse <swhiteho@redhat.com> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 04 11月, 2007 1 次提交
-
-
由 Anton Altaparmakov 提交于
The regression was caused by: commit[a32ea1e1] Fix read/truncate race This causes ntfs_readpage() to be called for a zero i_size inode, which failed when the file was compressed and non-resident. Thanks a lot to Mike Galbraith for reporting the issue and tracking down the commit that caused the regression. Looking into it I found three bugs which the patch fixes. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net> Tested-by: NMike Galbraith <efault@gmx.de> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 13 10月, 2007 1 次提交
-
-
由 Anton Altaparmakov 提交于
Big thanks go to Mathias Kolehmainen for reporting the bug, providing debug output and testing the patches I sent him to get it working. The fix was to stop calling ntfs_attr_set() at mount time as that causes balance_dirty_pages_ratelimited() to be called which on systems with little memory actually tries to go and balance the dirty pages which tries to take the s_umount semaphore but because we are still in fill_super() across which the VFS holds s_umount for writing this results in a deadlock. We now do the dirty work by hand by submitting individual buffers. This has the annoying "feature" that mounting can take a few seconds if the journal is large as we have clear it all. One day someone should improve on this by deferring the journal clearing to a helper kernel thread so it can be done in the background but I don't have time for this at the moment and the current solution works fine so I am leaving it like this for now. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 13 5月, 2007 1 次提交
-
-
由 Nate Diller 提交于
Use zero_user_page() instead of open-coding it. [akpm@linux-foundation.org: kmap-type fixes] Signed-off-by: NNate Diller <nate.diller@gmail.com> Acked-by: NAnton Altaparmakov <aia21@cantab.net> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 31 1月, 2007 1 次提交
-
-
由 Andrew Morton 提交于
The KM_BIO_SRC_IRQ kmap slot requires local irq protection. Acked-by: NAnton Altaparmakov <aia21@cantab.net> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 01 10月, 2006 1 次提交
-
-
由 Richard Knutsson 提交于
Conversion of booleans to: generic-boolean.patch (2006-08-23) Signed-off-by: NRichard Knutsson <ricknu-0@student.ltu.se> Signed-off-by: NAnton Altaparmakov <aia21@cantab.net> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 29 6月, 2006 1 次提交
-
-
由 Christoph Hellwig 提交于
Same as with already do with the file operations: keep them in .rodata and prevents people from doing runtime patching. Signed-off-by: NChristoph Hellwig <hch@lst.de> Cc: Steven French <sfrench@us.ibm.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 24 3月, 2006 1 次提交
-
-
由 Ingo Molnar 提交于
The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: NIngo Molnar <mingo@elte.hu> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
- 23 3月, 2006 2 次提交
-
-
由 Anton Altaparmakov 提交于
from read inode and new inode code paths. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
address space operations. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
- 24 2月, 2006 1 次提交
-
-
由 Anton Altaparmakov 提交于
supported by NTFS which is 4096 bytes).
-
- 19 10月, 2005 1 次提交
-
-
由 Anton Altaparmakov 提交于
Minor tidying. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
- 11 10月, 2005 1 次提交
-
-
由 Anton Altaparmakov 提交于
preparation for the big rewrite of write(2) support in ntfs. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
- 19 9月, 2005 2 次提交
-
-
由 Anton Altaparmakov 提交于
Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
- 11 9月, 2005 1 次提交
-
-
由 Andrew Morton 提交于
*** Warning: "bit_spin_lock" [fs/ntfs/ntfs.ko] undefined! *** Warning: "bit_spin_unlock" [fs/ntfs/ntfs.ko] undefined! Cc: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 09 9月, 2005 8 次提交
-
-
由 Anton Altaparmakov 提交于
Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
fs/ntfs/aops.c::ntfs_end_buffer_async_read() to a bit spin lock in the first buffer head of a page. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
fs/ntfs/aops.c::ntfs_readpage(). Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
where a concurrent truncate has truncated the runlist under our feet. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
lock protection over the buffer submission for i/o which allows the removal of the get_bh()/put_bh() pairs for each buffer. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
fs/ntfs/aops.c::ntfs_writepage(). Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
- 17 8月, 2005 1 次提交
-
-
由 Anton Altaparmakov 提交于
for mft record writing. I had missed the writepage based mft record write code path. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
- 25 6月, 2005 1 次提交
-
-
由 Anton Altaparmakov 提交于
if the runlist was not mapped at all and a mapping error occured we would leave the runlist locked on exit to the function so that the next access to the same file would try to take the lock and deadlock. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
- 05 5月, 2005 6 次提交
-
-
由 Anton Altaparmakov 提交于
better code generation and one less sparse warning in fs/ntfs/aops.c. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
and handle the case where an attribute is converted from resident to non-resident by a concurrent file write. - Reorder some operations when converting an attribute from resident to non-resident (fs/ntfs/attrib.c) so it is safe wrt concurrent ->readpage and ->writepage. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Randy Dunlap 提交于
Signed-off-by: NRandy Dunlap <rddunlap@osdl.org> Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
helper ntfs_map_runlist_nolock() which is used by ntfs_map_runlist(). This allows us to map runlist fragments with the runlist lock already held without having to drop and reacquire it around the call. Adapt all callers. - Change ntfs_find_vcn() to ntfs_find_vcn_nolock() which takes a locked runlist. This allows us to find runlist elements with the runlist lock already held without having to drop and reacquire it around the call. Adapt all callers. Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-
由 Anton Altaparmakov 提交于
fs/ntfs/aops.c::ntfs_{prepare,commit}_write()() and re-enable it. It should be safe now. (Famous last words...) Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
-