Displaying 12 results from an estimated 12 matches for "__extent_read_full_page".
2013 Aug 06
6
[PATCH 0/4] btrfs: out-of-band (aka offline) dedupe v4
...rfs exent-same, instead we just
dedupe the maximum allowed. That way userspace doesn''t have to worry
about an arbitrary length limit.
- btrfs_extent_same will now loop over the dedupe range at 1MB increments (for
a total of 16MB per request)
- cleaned up poorly coded while loop in __extent_read_full_page() (thanks to
David Sterba <dsterba@suse.cz> for reporting this)
- included two fixes from Gabriel de Perthuis <g2p.code@gmail.com>:
- allow dedupe across subvolumes
- don''t lock compressed pages twice when deduplicating
- removed some unused / poorly designed fields i...
2010 Jun 21
0
[PATCH V3 6/8] Cleancache: btrfs hooks for cleancache
...000 -0600
@@ -10,6 +10,7 @@
#include <linux/swap.h>
#include <linux/writeback.h>
#include <linux/pagevec.h>
+#include <linux/cleancache.h>
#include "extent_io.h"
#include "extent_map.h"
#include "compat.h"
@@ -2027,6 +2028,13 @@ static int __extent_read_full_page(struc
set_page_extent_mapped(page);
+ if (!PageUptodate(page)) {
+ if (cleancache_get_page(page) == 0) {
+ BUG_ON(blocksize != PAGE_SIZE);
+ goto out;
+ }
+ }
+
end = page_end;
while (1) {
lock_extent(tree, start, end, GFP_NOFS);
@@ -2151,6 +2159,7 @@ static int __extent_read_ful...
2012 Jul 12
3
[PATCH v2] Btrfs: improve multi-thread buffer read
...lru);
+ bool delay_read = true;
prefetchw(&page->flags);
list_del(&page->lru);
+
+ if (!pagelst)
+ pagelst = kmalloc(sizeof(*pagelst), GFP_NOFS);
+ if (!pagelst)
+ delay_read = false;
+
if (!add_to_page_cache_lru(page, mapping,
page->index, GFP_NOFS)) {
- __extent_read_full_page(tree, page, get_extent,
- &bio, 0, &bio_flags);
+ if (delay_read) {
+ pagelst->page = page;
+ list_add(&pagelst->lst, &page_pool);
+ page_cache_get(page);
+ pagelst = NULL;
+ } else {
+ __extent_read_full_page(tree, page, get_extent,
+ &bio, 0...
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 Feb 17
7
Re: [Bugme-new] [Bug 29302] New: Null pointer dereference with large max_sectors_kb
...0 0000000000000000 0000000000000002 0000000001400000
> [ 605.116180] Call Trace:
> [ 605.116320] [<ffffffff81251384>] ? submit_extent_page+0x164/0x280
> [ 605.116488] [<ffffffff81255810>] ? end_bio_extent_readpage+0x0/0x210
> [ 605.116654] [<ffffffff81257241>] ? __extent_read_full_page+0x4e1/0x680
> [ 605.116820] [<ffffffff81255810>] ? end_bio_extent_readpage+0x0/0x210
> [ 605.116990] [<ffffffff8122c260>] ? btree_get_extent+0x0/0x1e0
> [ 605.117151] [<ffffffff81257660>] ? read_extent_buffer_pages+0x280/0x3c0
> [ 605.117320] [<ffffffff812d7...
2012 Jul 10
6
[PATCH RFC] Btrfs: improve multi-thread buffer read
...lru);
prefetchw(&page->flags);
list_del(&page->lru);
+
+ if (!pagelst)
+ pagelst = kmalloc(sizeof(*pagelst), GFP_NOFS);
+
+ if (!pagelst) {
+ page_cache_release(page);
+ continue;
+ }
if (!add_to_page_cache_lru(page, mapping,
page->index, GFP_NOFS)) {
- __extent_read_full_page(tree, page, get_extent,
- &bio, 0, &bio_flags);
+ pagelst->page = page;
+ list_add(&pagelst->lst, &page_pool);
+ page_cache_get(page);
+ pagelst = NULL;
}
page_cache_release(page);
}
+
+ while (!list_empty(&page_pool)) {
+ struct page *page;
+
+ page...
2010 May 07
6
[PATCH 1/5] fs: allow short direct-io reads to be completed via buffered IO V2
V1->V2: Check to see if our current ppos is >= i_size after a short DIO read,
just in case it was actually a short read and we need to just return.
This is similar to what already happens in the write case. If we have a short
read while doing O_DIRECT, instead of just returning, fallthrough and try to
read the rest via buffered IO. BTRFS needs this because if we encounter a
compressed or
2011 Feb 16
2
RE: [PATCH V2 0/3] drivers/staging: zcache: dynamic page cache/swap compression
...>>> __cleancache_get_page+0x7a/0xd0
> >>> Feb 14 02:05:52 lupus kernel: [ 70.057487] [<ffffffff8132bb7c>]
> ?
> >>> merge_state+0x7c/0x150
> >>> Feb 14 02:05:52 lupus kernel: [ 70.057579] [<ffffffff8132e4de>]
> ?
> >>> __extent_read_full_page+0x52e/0x710
> >>> Feb 14 02:05:52 lupus kernel: [ 70.057673] [<ffffffff813bdea4>]
> ?
> >>> rb_insert_color+0xa4/0x140
> >>> Feb 14 02:05:52 lupus kernel: [ 70.057766] [<ffffffff8134b0b6>]
> ?
> >>> tree_insert+0x86/0x1e0
>...
2011 Jul 21
10
[PATCH v5 0/8] Btrfs scrub: print path to corrupted files and trigger nodatasum fixup
While testing raid-auto-repair patches I''m going to send out later, I just found
the very last bug in my current scrub patch series:
Changelog v4->v5:
- fixed a deadlock when fixup is taking longer while scrub is about to end
Original message follows:
------------------------
This patch set introduces two new features for scrub. They share the backref
iteration code which is the
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
2009 Jan 13
28
Warning and BUG with btrfs and corrupted image
...418161] c82f31c0 cb38bd40 c04a9af4 0000e028 00000000 00001000
00000000 c807c3e0
[ 297.418161] cb38bda8 ffffe3fb c04aaf4a 00000000 00000000 00000000
cf53c3f0 00000fff
[ 297.418161] Call Trace:
[ 297.418161] [<c04a7ed6>] ? submit_extent_page+0xea/0x190
[ 297.418161] [<c04a9af4>] ? __extent_read_full_page+0x61d/0x6a0
[ 297.418161] [<c04aaf4a>] ? end_bio_extent_readpage+0x0/0x205
[ 297.418161] [<c0491123>] ? btree_get_extent+0x0/0x16c
[ 297.418161] [<c04a8467>] ? test_range_bit+0xd5/0xdf
[ 297.418161] [<c04aa4c7>] ? read_extent_buffer_pages+0x274/0x3aa
[ 297.418161]...
2013 Aug 22
23
Question: How can I recover this partition? (unable to find logical $hugenum len 4096)
...] ? dm_get_live_table+0x40/0x40 [dm_mod]
[ 45.917188] [<f9d14e98>] btrfs_map_bio+0x78/0x450 [btrfs]
[ 45.917188] [<f9d0868b>] ? submit_extent_page.isra.38+0xeb/0x1d0 [btrfs]
[ 45.917188] [<f9d06f60>] ? test_range_bit+0x80/0x180 [btrfs]
[ 45.917188] [<f9d08c67>] ? __extent_read_full_page+0x4f7/0x7f0 [btrfs]
[ 45.917188] [<f9ce1e79>] ? btrfs_bio_wq_end_io+0x29/0x70 [btrfs]
[ 45.917188] [<f9ce20aa>] btree_submit_bio_hook+0x5a/0x100 [btrfs]
[ 45.917188] [<f9ce2050>] ? btrfs_wq_submit_bio+0x170/0x170 [btrfs]
[ 45.917188] [<f9d03c90>] submit_one_bio+0...