3f7fc6f2a2ba0f72a09e9f9999c3812fdee8fe70 |
|
16-Oct-2014 |
Anton Altaparmakov <anton@tuxera.com> |
NTFS: Add bmap address space operation needed for FIBMAP ioctl. Signed-off-by: Anton Altaparmakov <anton@tuxera.com>
|
ce1bafa094a5ef3aaa8afa08727b1e970e9d4711 |
|
16-Oct-2014 |
Anton Altaparmakov <anton@tuxera.com> |
NTFS: Split ntfs_aops into ntfs_normal_aops and ntfs_compressed_aops in preparation for them diverging. Signed-off-by: Anton Altaparmakov <anton@tuxera.com>
|
d47992f86b307985b3215bcf141d56d1849d71df |
|
22-May-2013 |
Lukas Czerner <lczerner@redhat.com> |
mm: change invalidatepage prototype to accept length 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: Lukas Czerner <lczerner@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Hugh Dickins <hughd@google.com>
|
a3ac1414eb601136ba3475e841fe76ccbab5e88d |
|
25-Nov-2011 |
Cong Wang <amwang@redhat.com> |
ntfs: remove the second argument of k[un]map_atomic() Signed-off-by: Cong Wang <amwang@redhat.com>
|
7eaceaccab5f40bbfda044629a6298616aeaed50 |
|
10-Mar-2011 |
Jens Axboe <jaxboe@fusionio.com> |
block: remove per-queue plugging 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: Jens Axboe <jaxboe@fusionio.com>
|
5a0e3ad6af8660be21ca98a971cd00f331318c05 |
|
24-Mar-2010 |
Tejun Heo <tj@kernel.org> |
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: Tejun Heo <tj@kernel.org> Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
|
aa261f549d7652258331ebb12795f3bc4395d213 |
|
16-Sep-2009 |
Andi Kleen <andi@firstfloor.org> |
HWPOISON: Enable .remove_error_page for migration aware file systems 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: Andi Kleen <ak@linux.intel.com>
|
ca5de404ff036a29b25e9a83f6919c9f606c5841 |
|
02-Aug-2008 |
Nick Piggin <npiggin@suse.de> |
fs: rename buffer trylock Like the page lock change, this also requires name change, so convert the raw test_and_set bitop to a trylock. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
eebd2aa355692afaf9906f62118620f1a1c19dbb |
|
05-Feb-2008 |
Christoph Lameter <clameter@sgi.com> |
Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user 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: Christoph 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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
ebab89909e0dc716282d5e7f6e73a3155fe66d4a |
|
03-Nov-2007 |
Anton Altaparmakov <aia21@cam.ac.uk> |
NTFS: Fix read regression. The regression was caused by: commit[a32ea1e1f925399e0d81ca3f7394a44a6dafa12c] 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: Anton Altaparmakov <aia21@cantab.net> Tested-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
bfab36e81611e60573b84eb4e4b4c8d8545b2320 |
|
12-Oct-2007 |
Anton Altaparmakov <aia21@cam.ac.uk> |
NTFS: Fix a mount time deadlock. 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: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
e3bf460f3eb86cdbc76725a0dac1f191e796676c |
|
12-May-2007 |
Nate Diller <nate.diller@gmail.com> |
ntfs: use zero_user_page Use zero_user_page() instead of open-coding it. [akpm@linux-foundation.org: kmap-type fixes] Signed-off-by: Nate Diller <nate.diller@gmail.com> Acked-by: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
fa8609da993b04dc2dd762173a6d0ab1a192e256 |
|
30-Jan-2007 |
Andrew Morton <akpm@osdl.org> |
[PATCH] ntfs: kmap_atomic() atomicity fix The KM_BIO_SRC_IRQ kmap slot requires local irq protection. Acked-by: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
c49c31115067bc7c9a51ffdc735a515151dfa3eb |
|
01-Oct-2006 |
Richard Knutsson <ricknu-0@student.ltu.se> |
[PATCH] fs/ntfs: Conversion to generic boolean Conversion of booleans to: generic-boolean.patch (2006-08-23) Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se> Signed-off-by: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
f5e54d6e53a20cef45af7499e86164f0e0d16bb2 |
|
28-Jun-2006 |
Christoph Hellwig <hch@lst.de> |
[PATCH] mark address_space_operations const Same as with already do with the file operations: keep them in .rodata and prevents people from doing runtime patching. Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Steven French <sfrench@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
4e5e529ad684f1b3fba957f5dd4eb7c2b534ee92 |
|
23-Mar-2006 |
Ingo Molnar <mingo@elte.hu> |
NTFS: Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
f95c4018fd4b0bdef9b1bcb4eac7056e2a07282a |
|
23-Mar-2006 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Remove all the make_bad_inode() calls. This should only be called from read inode and new inode code paths. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
78264bd9c239237fe356c32d08abf8e52a2d8737 |
|
23-Mar-2006 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Use buffer_migrate_page() for the ->migratepage function of all ntfs address space operations. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
78af34f03d33d2ba179c9d35685860170b94a285 |
|
24-Feb-2006 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes).
|
7d0ffdb279105d9a87b447758ce4a634496abfd1 |
|
19-Oct-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: $EA attributes can be both resident non-resident. Minor tidying. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
29f5f3c141c58b0a4c0765c77da612271875bcce |
|
11-Oct-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Remove address space operations ->prepare_write and ->commit_write in preparation for the big rewrite of write(2) support in ntfs. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
f6098cf449b81c14a51e48dd22ae47d03126a1de |
|
19-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Fix ntfs_{read,write}page() to cope with concurrent truncates better. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
4e64c88693fde1b1cbaa4cfecad43a0c3fad354e |
|
19-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Fix handling of compressed directories that I broke in earlier changeset. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
b4012a9895b3e28e3bff3aa534d58c7827af6d4f |
|
10-Sep-2005 |
Andrew Morton <akpm@osdl.org> |
[PATCH] ntfs build fix *** 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: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
7d333d6c739a5cd6d60102ea1a9940cbbb0546ec |
|
09-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: 2.1.24 release and some minor final fixes. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
e604635c8bea16f6177e6133eb3efbfb4a029ef6 |
|
08-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Improve scalability by changing the driver global spin lock in 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: Anton Altaparmakov <aia21@cantab.net>
|
a01ac532b519dc0e0b4d8bc4e12373e4e4cd1b1a |
|
08-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Fix page_has_buffers()/page_buffers() handling in fs/ntfs/aops.c. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
311120eca0013083f5eb0aff13ffb8aa9fdd050c |
|
08-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Fixup handling of sparse, compressed, and encrypted attributes in fs/ntfs/aops.c::ntfs_readpage(). Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
8273d5d4c28a9fde68f830cc6ff61e37e8ae1dca |
|
08-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Fix fs/ntfs/aops.c::ntfs_{read,write}_block() to handle the case where a concurrent truncate has truncated the runlist under our feet. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
54b02eb01c0172294e43e2b54d6815f65637c111 |
|
08-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Optimize fs/ntfs/aops.c::ntfs_write_block() by extending the page 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: Anton Altaparmakov <aia21@cantab.net>
|
bd45fdd209ca49c5010ac9af469c41ae6dd3f145 |
|
08-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Fixup handling of sparse, compressed, and encrypted attributes in fs/ntfs/aops.c::ntfs_writepage(). Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
8dcdebafb848415eae25924b00c4f0b9ec907da0 |
|
08-Sep-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Make ntfs_write_block() not instantiate sparse blocks if they are zero. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
481d0374217f3fefaf98efbd8d21d73c138dd928 |
|
16-Aug-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Complete the previous fix for the unset device when mapping buffers for mft record writing. I had missed the writepage based mft record write code path. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
9f993fe4634b39ca4404ba278053b03f360ec08a |
|
25-Jun-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Fix a bug in address space operations error recovery code paths where 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: Anton Altaparmakov <aia21@cantab.net>
|
d53ee3222459f347cb18985a845864bc81a44eaf |
|
06-Apr-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Use MAX_BUF_PER_PAGE instead of variable sized array allocation for better code generation and one less sparse warning in fs/ntfs/aops.c. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
905685f68fc72844b8c2689c39a5c6c35e840152 |
|
10-Mar-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: - Modify ->readpage and ->writepage (fs/ntfs/aops.c) so they detect 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: Anton Altaparmakov <aia21@cantab.net>
|
8907547d4b099e67762ea4891c127ea1f6dd1cb7 |
|
03-Mar-2005 |
Randy Dunlap <rddunlap@osdl.org> |
NTFS: Fix printk format warnings on ia64. (Randy Dunlap) Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
b6ad6c52fe36ab35d0fe28c064f59de2ba670c2a |
|
15-Feb-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: - Split ntfs_map_runlist() into ntfs_map_runlist() and a non-locking 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: Anton Altaparmakov <aia21@cantab.net>
|
f40661be038ce6ed9ef6a8b80307a9153bd95769 |
|
13-Jan-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Optimise/reorganise some error handling code in fs/ntfs/aops.c. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
946929d813a3bde095678526dd037ab9ac6efe35 |
|
13-Jan-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Fixup the resident attribute resizing code in fs/ntfs/aops.c::ntfs_{prepare,commit}_write()() and re-enable it. It should be safe now. (Famous last words...) Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
149f0c5200188a43f1fc11ca2fb14d8183013d10 |
|
12-Jan-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Repeat a failed ntfs_truncate() in fs/ntfs/aops.c::ntfs_writepage() and abort if it fails again. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
07a4e2da7dd3c9345f84b2552872f9d38c257451 |
|
12-Jan-2005 |
Anton Altaparmakov <aia21@cantab.net> |
NTFS: Use i_size_{read,write}() in fs/ntfs/{aops.c,mft.c} and protect access to the i_size and other size fields using the size_lock. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
|
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 |
|
17-Apr-2005 |
Linus Torvalds <torvalds@ppc970.osdl.org> |
Linux-2.6.12-rc2 Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
|