Displaying 12 results from an estimated 12 matches for "hint_byt".
Did you mean:
hint_byte
2009 Nov 12
0
[PATCH 03/12] Btrfs: Rewrite btrfs_drop_extents
..._trans_handle *trans,
- struct btrfs_root *root, struct inode *inode,
- u64 start, u64 end, u64 locked_end,
- u64 inline_limit, u64 *hint_block, int drop_cache);
+int btrfs_drop_extents(struct btrfs_trans_handle *trans, struct inode *inode,
+ u64 start, u64 end, u64 *hint_byte, int drop_cache);
int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
- struct btrfs_root *root,
struct inode *inode, u64 start, u64 end);
int btrfs_release_file(struct inode *inode, struct file *file);
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 4599113....
2009 Mar 20
1
[PATCH 2/4] Btrfs: clean up find_free_extent
...fo, data);
+
if (orig_root->ref_cows || empty_size)
allowed_chunk_alloc = 1;
@@ -2580,10 +2578,9 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
last_ptr = &root->fs_info->last_data_alloc;
if (last_ptr) {
- if (*last_ptr) {
+ if (*last_ptr)
hint_byte = *last_ptr;
- last_wanted = *last_ptr;
- } else
+ else
empty_size += empty_cluster;
} else {
empty_cluster = 0;
@@ -2591,32 +2588,29 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
search_start = max(search_start, first_logical_byte(root, 0));
search_sta...
2011 Jun 21
19
[GIT PULL v3] Btrfs: improve write ahead log with sub transaction
I''ve been working to try to improve the write-ahead log''s performance,
and I found that the bottleneck addresses in the checksum items,
especially when we want to make a random write on a large file, e.g a 4G file.
Then a idea for this suggested by Chris is to use sub transaction ids and just
to log the part of inode that had changed since either the last log commit or
the last
2011 Aug 18
0
[PATCH 3/3] Btrfs: fix unclosed transaction handle in btrfs_cont_expand()
...inode.c b/fs/btrfs/inode.c
index 634dd797..ee57b40 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3510,15 +3510,19 @@ int btrfs_cont_expand(struct inode *inode, loff_t oldsize, loff_t size)
err = btrfs_drop_extents(trans, inode, cur_offset,
cur_offset + hole_size,
&hint_byte, 1);
- if (err)
+ if (err) {
+ btrfs_end_transaction(trans, root);
break;
+ }
err = btrfs_insert_file_extent(trans, root,
btrfs_ino(inode), cur_offset, 0,
0, hole_size, 0, hole_size,
0, 0, 0);
- if (err)
+ if (err) {
+ btrfs_end_transaction(trans, root)...
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...pping(em_tree, split);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
free_extent_map(split);
split = NULL;
}
@@ -404,7 +404,7 @@ next_slot:
root->root_key.objectid,
new_key.objectid,
start - extent_offset);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
*hint_byte = disk_bytenr;
}
key.offset = start;
@@ -479,7 +479,7 @@ next_slot:
root->root_key.objectid,
key.objectid, key.offset -
extent_offset);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
inode_sub_bytes(inode,
extent_end - key.offset);
*hint_byte = d...
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...,
+ struct btrfs_disk_key *key, int level,
+ u64 hint, u64 empty_size);
int btrfs_alloc_extent(struct btrfs_trans_handle *trans,
struct btrfs_root *root,
u64 num_bytes, u64 parent,
u64 root_objectid, u64 ref_generation,
u64 owner, u64 empty_size, u64 hint_byte,
u64 search_end, struct btrfs_key *ins, int data);
-int btrfs_lookup_extent_ref(struct btrfs_trans_handle *trans,
- struct btrfs_root *root, u64 bytenr,
- u64 num_bytes, u32 *refs);
+int btrfs_lookup_extent_info(struct btrfs_trans_handle *trans,
+ struct btrfs_root *ro...
2012 Sep 17
13
[PATCH 1/2 v3] Btrfs: use flag EXTENT_DEFRAG for snapshot-aware defrag
We''re going to use this flag EXTENT_DEFRAG to indicate which range
belongs to defragment so that we can implement snapshow-aware defrag:
We set the EXTENT_DEFRAG flag when dirtying the extents that need
defragmented, so later on writeback thread can differentiate between
normal writeback and writeback started by defragmentation.
This patch is used for the latter one.
Originally patch
2008 Oct 10
1
[PATCH] fix enospc when there is plenty of space
..._chunk_alloc = 1;
@@ -2239,152 +2199,132 @@ static int noinline find_free_extent(struct btrfs_trans_handle *trans,
else
empty_size += empty_cluster;
}
-
search_start = max(search_start, first_logical_byte(root, 0));
- orig_search_start = search_start;
-
search_start = max(search_start, hint_byte);
total_needed += empty_size;
-new_group:
- block_group = btrfs_lookup_block_group(info, search_start);
- if (!block_group)
- block_group = btrfs_lookup_first_block_group(info,
- search_start);
+ block_group = btrfs_lookup_block_group(root->fs_info, search_start);
+ space_info =...
2009 Aug 05
3
RAID[56] with arbitrary numbers of "parity" stripes.
...info->metadata_alloc_profile;
data = BTRFS_BLOCK_GROUP_METADATA | alloc_profile;
}
-
return btrfs_reduce_alloc_profile(root, data);
}
@@ -3635,7 +3644,7 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
u64 search_start, u64 search_end,
u64 hint_byte, struct btrfs_key *ins,
u64 exclude_start, u64 exclude_nr,
- int data)
+ u64 data)
{
int ret = 0;
struct btrfs_root *root = orig_root->fs_info->extent_root;
@@ -6774,8 +6783,7 @@ out:
static u64 update_block_group_flags(struct btrfs_root *root, u64 flags)
{...
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
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 06
26
[PATCH v0 00/18] btfs: Subvolume Quota Groups
This is a first draft of a subvolume quota implementation. It is possible
to limit subvolumes and any group of subvolumes and also to track the amount
of space that will get freed when deleting snapshots.
The current version is functionally incomplete, with the main missing feature
being the initial scan and rescan of an existing filesystem.
I put some effort into writing an introduction into