search for: prepare_pages

Displaying 6 results from an estimated 6 matches for "prepare_pages".

2010 Dec 07
9
[PATCH] Btrfs: pwrite blocked when writing from the mmaped buffer of the same page
This problem is found in meego testing: http://bugs.meego.com/show_bug.cgi?id=6672 A file in btrfs is mmaped and the mmaped buffer is passed to pwrite to write to the same page of the same file. In btrfs_file_aio_write(), the pages is locked by prepare_pages(). So when btrfs_copy_from_user() is called, page fault happens and the same page needs to be locked again in filemap_fault(). The fix is to move iov_iter_fault_in_readable() before prepage_pages() to make page fault happen before pages are locked. And also disable page fault in critical region in...
2011 Jul 12
0
[PATCH] Btrfs: Remove unused variable 'last_index' in file.c
The variable ''last_index'' is calculated in the __btrfs_buffered_write function and passed as a parameter to the prepare_pages function, but is not used anywhere in the prepare_pages function. Remove instances of ''last_index'' in these functions. Signed-off-by: Mitch Harder <mitch.harder@sabayonlinux.org> --- fs/btrfs/file.c | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) diff --...
2011 Jul 08
5
btrfs hang in flush-btrfs-5
...d+0x56/0x118 Jul 8 11:49:40 xback2 kernel: [74920.681032] [<ffffffff810d8ab9>] add_to_page_cache_lru+0x2a/0x58 Jul 8 11:49:40 xback2 kernel: [74920.681032] [<ffffffff810d8d61>] find_or_create_page+0x5a/0x8a Jul 8 11:49:40 xback2 kernel: [74920.681032] [<ffffffffa0423620>] prepare_pages+0xd3/0x2e7 [btrfs] Jul 8 11:49:40 xback2 kernel: [74920.681032] [<ffffffffa040aad7>] ? btrfs_delalloc_reserve_metadata+0xf9/0x128 [btrfs] Jul 8 11:49:40 xback2 kernel: [74920.681032] [<ffffffffa0423ca6>] btrfs_file_aio_write+0x472/0x7f1 [btrfs] Jul 8 11:49:40 xback2 kernel: [7492...
2012 Sep 17
13
[PATCH 1/2 v3] Btrfs: use flag EXTENT_DEFRAG for snapshot-aware defrag
..., EXTENT_LOCKED | EXTENT_DIRTY | EXTENT_DELALLOC | - EXTENT_DO_ACCOUNTING, 1, 1, &cached_state, GFP_NOFS); + EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG, 1, 1, + &cached_state, GFP_NOFS); __btrfs_releasepage(page, GFP_NOFS); ClearPageChecked(page); @@ -6686,7 +6689,8 @@ again: * prepare_pages in the normal write path. */ clear_extent_bit(&BTRFS_I(inode)->io_tree, page_start, page_end, - EXTENT_DIRTY | EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING, + EXTENT_DIRTY | EXTENT_DELALLOC | + EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG, 0, 0, &cached_state, GFP_NOFS); ret...
2011 Aug 15
9
[patch v2 0/9] btrfs: More error handling patches
Hi all - The following 9 patches add more error handling to the btrfs code: - Add btrfs_panic - Catch locking failures in {set,clear}_extent_bit - Push up set_extent_bit errors to callers - Push up lock_extent errors to callers - Push up clear_extent_bit errors to callers - Push up unlock_extent errors to callers - Make pin_down_extent return void - Push up btrfs_pin_extent errors to
2011 Oct 04
68
[patch 00/65] Error handling patchset v3
Hi all - Here''s my current error handling patchset, against 3.1-rc8. Almost all of this patchset is preparing for actual error handling. Before we start in on that work, I''m trying to reduce the surface we need to worry about. It turns out that there is a ton of code that returns an error code but never actually reports an error. The patchset has grown to 65 patches. 46 of them