Displaying 7 results from an estimated 7 matches for "map_start".
Did you mean:
gap_start
2013 Aug 29
23
[PATCH] Btrfs: optimize key searches in btrfs_search_slot
...c
+++ b/fs/btrfs/ctree.c
@@ -2426,6 +2426,59 @@ done:
return ret;
}
+static int key_search(struct extent_buffer *b, struct btrfs_key *key,
+ int level, int *prev_cmp, int *slot)
+{
+ unsigned long eb_offset = 0;
+ unsigned long len_left = b->len;
+ char *kaddr = NULL;
+ unsigned long map_start = 0;
+ unsigned long map_len = 0;
+ unsigned long offset;
+ struct btrfs_disk_key *k = NULL;
+ struct btrfs_disk_key unaligned;
+
+ if (*prev_cmp != 0) {
+ *prev_cmp = bin_search(b, key, level, slot);
+ return *prev_cmp;
+ }
+
+ if (level == 0)
+ offset = offsetof(struct btrfs_leaf, items);
+ el...
2013 Aug 07
1
FIEMAP problem
Hi,
We are trying to use OCFS2 as VM storage. After running into problems with
qemu's disk_mirror feature we now think there could be a problem with the
FIEMAP ioctl in OCFS2.
As far as I understand the situation looks like this:
Qemu inquiries the FS if the given section of the image is already allocated
via the FIEMAP ioctl [1]
It especially checks if fm_mapped_extents is greater 0.
2011 May 11
8
[PATCH 1/4] Btrfs: map the node block when looking for readahead targets
...nritems(node);
nr = slot;
while (1) {
+ if (!node->map_token) {
+ unsigned long offset = btrfs_node_key_ptr_offset(nr);
+ map_private_extent_buffer(node, offset,
+ sizeof(struct btrfs_key_ptr),
+ &node->map_token,
+ &node->kaddr,
+ &node->map_start,
+ &node->map_len, KM_USER1);
+ }
if (direction < 0) {
if (nr == 0)
break;
@@ -1273,14 +1283,23 @@ static void reada_for_search(struct btrfs_root *root,
search = btrfs_node_blockptr(node, nr);
if ((search <= target && target - search <= 65536) ||...
2011 May 19
3
SEEK_DATA/HOLE on ocfs2 - v2
Two patches follow this message. One fixes the default implementation
of SEEK_HOLE/DATA. This patch applies atop Josef's last posted patch.
The second patch implements the same on ocfs2.
The test tool for the same is available here.
http://oss.oracle.com/~smushran/seek_data/seek_test.c
It is improved since the last post. It runs cleanly on zfs, ocfs2 and ext3
(default behavior). Users
2011 May 19
3
SEEK_DATA/HOLE on ocfs2 - v2
Two patches follow this message. One fixes the default implementation
of SEEK_HOLE/DATA. This patch applies atop Josef's last posted patch.
The second patch implements the same on ocfs2.
The test tool for the same is available here.
http://oss.oracle.com/~smushran/seek_data/seek_test.c
It is improved since the last post. It runs cleanly on zfs, ocfs2 and ext3
(default behavior). Users
2012 Dec 18
0
[PATCH] [RFC] Btrfs: Subpagesize blocksize (WIP).
..._uptodate) {
- if (start_i == 0)
+ if (start_i == 0 && eb->len >= PAGE_SIZE)
set_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
goto unlock_exit;
}
@@ -4693,7 +5158,7 @@ int map_private_extent_buffer(struct extent_buffer *eb, unsigned long start,
unsigned long *map_start,
unsigned long *map_len)
{
- size_t offset = start & (PAGE_CACHE_SIZE - 1);
+ size_t offset;
char *kaddr;
struct page *p;
size_t start_offset = eb->start & ((u64)PAGE_CACHE_SIZE - 1);
@@ -4709,6 +5174,9 @@ int map_private_extent_buffer(struct extent_buffer *eb, unsigned...
2012 Jun 21
0
[RFC PATCH V2] Btrfs: introduce extent buffer cache for each i-node
..., 0);
+ path, inode, -1, 0);
if (ret < 0) {
btrfs_free_path(path);
return ret;
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h
index 25900af..3803812 100644
--- a/fs/btrfs/extent_io.h
+++ b/fs/btrfs/extent_io.h
@@ -129,6 +129,7 @@ struct extent_buffer {
unsigned long map_start;
unsigned long map_len;
unsigned long bflags;
+ u64 root_objectid;
struct extent_io_tree *tree;
spinlock_t refs_lock;
atomic_t refs;
diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c
index 5d158d3..bc90d80 100644
--- a/fs/btrfs/file-item.c
+++ b/fs/btrfs/file-item.c
@@ -38,7 +38,7...