Displaying 20 results from an estimated 27 matches for "read_extent_buffer".
2010 Jul 29
1
[Bug] check return of kmalloc()
...000 +0400
+++ /tmp/cocci-output-7783-8f7d1b-tree-log.c 2010-07-28 18:43:08.000000000 +0400
@@ -336,8 +336,6 @@ static noinline int overwrite_item(struc
btrfs_release_path(root, path);
return 0;
}
- dst_copy = kmalloc(item_size, GFP_NOFS);
- src_copy = kmalloc(item_size, GFP_NOFS);
read_extent_buffer(eb, src_copy, src_ptr, item_size);
@@ -664,7 +662,6 @@ static noinline int drop_one_dir_item(st
btrfs_dir_item_key_to_cpu(leaf, di, &location);
name_len = btrfs_dir_name_len(leaf, di);
- name = kmalloc(name_len, GFP_NOFS);
read_extent_buffer(leaf, name, (unsigned long)(di + 1), name_l...
2012 Jun 05
13
New btrfs-progs integration branch
I''ve just pushed out a new integration branch to my git repo. This
is purely bugfix patches -- there are no new features in this issue of
the integration branch. I''ve got a stack of about a dozen more patches
with new features in them still to go. I''ll be working on those
tomorrow. As always, there''s minimal testing involved here, but it
does at least compile on
2013 Aug 27
7
[PATCH] Btrfs: fix deadlock in uuid scan kthread
If there''s an ongoing transaction when the uuid scan kthread attempts
to create one, the kthread will block, waiting for that transaction to
finish while it''s keeping locks on the tree root, and in turn the existing
transaction is waiting for those locks to be free.
The stack trace reported by the kernel follows.
[36700.671601] INFO: task btrfs-uuid:15480 blocked for more than
2013 Apr 25
0
[PATCH] Btrfs: remove almost all of the BUG()'s from tree-log.c
...de);
-
- btrfs_run_delayed_items(trans, root);
return ret;
}
@@ -883,7 +890,8 @@ again:
victim_name_len = btrfs_inode_ref_name_len(leaf,
victim_ref);
victim_name = kmalloc(victim_name_len, GFP_NOFS);
- BUG_ON(!victim_name);
+ if (!victim_name)
+ return -ENOMEM;
read_extent_buffer(leaf, victim_name,
(unsigned long)(victim_ref + 1),
@@ -899,9 +907,10 @@ again:
ret = btrfs_unlink_inode(trans, root, dir,
inode, victim_name,
victim_name_len);
- BUG_ON(ret);
- btrfs_run_delayed_items(trans, root);
kfree(victim_name);
+ if (ret)
+...
2013 Aug 29
23
[PATCH] Btrfs: optimize key searches in btrfs_search_slot
...en_left);
+ int err;
+
+ err = map_private_extent_buffer(b, eb_offset, len, &kaddr,
+ &map_start, &map_len);
+ len_left -= len;
+ eb_offset += len;
+ if (k)
+ continue;
+ if (!err) {
+ k = (struct btrfs_disk_key *)(kaddr + offset -
+ map_start);
+ } else {
+ read_extent_buffer(b, &unaligned,
+ offset, sizeof(unaligned));
+ k = &unaligned;
+ }
+ }
+
+ BUG_ON(comp_keys(k, key) != 0);
+ *slot = 0;
+
+ return 0;
+}
+
/*
* look for key in the tree. path is filled in with nodes along the way
* if key is found, we return zero and you can find the item in...
2010 Jun 12
0
[PATCH] Btrfs: fix CLONE ioctl destination file size expansion to block boundary
...a687f28 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1578,6 +1578,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
u64 disko = 0, diskl = 0;
u64 datao = 0, datal = 0;
u8 comp;
+ u64 endoff;
size = btrfs_item_size_nr(leaf, slot);
read_extent_buffer(leaf, buf,
@@ -1712,9 +1713,18 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
btrfs_release_path(root, path);
inode->i_mtime = inode->i_ctime = CURRENT_TIME;
- if (new_key.offset + datal > inode->i_size)
- btrfs_i_size_write(inode,
-...
2013 Aug 04
0
[PATCH] Btrfs: fix inode leak on kmalloc failure in tree-log.c
....c
@@ -1536,8 +1536,10 @@ static noinline int replay_one_name(struct btrfs_trans_handle *trans,
name_len = btrfs_dir_name_len(eb, di);
name = kmalloc(name_len, GFP_NOFS);
- if (!name)
- return -ENOMEM;
+ if (!name) {
+ ret = -ENOMEM;
+ goto out;
+ }
log_type = btrfs_dir_type(eb, di);
read_extent_buffer(eb, name, (unsigned long)(di + 1),
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
2010 Nov 17
0
[PATCH] Btrfs: handle NFS lookups properly
...name_ptr = (unsigned long)(rref + 1);
+ name_len = btrfs_root_ref_name_len(leaf, rref);
+ } else {
+ iref = btrfs_item_ptr(leaf, path->slots[0],
+ struct btrfs_inode_ref);
+ name_ptr = (unsigned long)(iref + 1);
+ name_len = btrfs_inode_ref_name_len(leaf, iref);
+ }
+
+ read_extent_buffer(leaf, name, name_ptr, name_len);
+ btrfs_free_path(path);
+
+ /*
+ * have to add the null termination to make sure that reconnect_path
+ * gets the right len for strlen
+ */
+ name[name_len] = ''\0'';
+
+ return 0;
+}
+
const struct export_operations btrfs_export_ops = {
.enco...
2011 Sep 10
12
WARNING: at fs/btrfs/inode.c:2193 btrfs_orphan_commit_root+0xb0/0xc0 [btrfs]()
Hi
I am hitting this Warning reproducible, the workload is a ceph osd,
kernel ist 3.1.0-rc5.
Best Regards,
martin
[ 5472.099766] ------------[ cut here ]------------
[ 5472.099833] WARNING: at fs/btrfs/inode.c:2193
btrfs_orphan_commit_root+0xb0/0xc0 [btrfs]()
[ 5472.099838] Hardware name: MS-96B3
[ 5472.099842] Modules linked in: radeon ttm drm_kms_helper drm
i2c_algo_bit psmouse sp5100_tco
2013 Oct 17
0
[PATCH] Btrfs-progs: fix btrfsck improper prompt on dropping snapshots
...)
cache_tree_init(&nodes);
cache_tree_init(&reada);
cache_tree_init(&corrupt_blocks);
+ INIT_LIST_HEAD(&dropping_trees);
if (repair) {
trans = btrfs_start_transaction(root, 1);
@@ -5513,26 +5546,74 @@ again:
offset = btrfs_item_ptr_offset(leaf, path.slots[0]);
read_extent_buffer(leaf, &ri, offset, sizeof(ri));
- buf = read_tree_block(root->fs_info->tree_root,
- btrfs_root_bytenr(&ri),
- btrfs_level_size(root,
- btrfs_root_level(&ri)), 0);
- add_root_to_pending(buf, &extent_cache, &pending,
- &seen, &a...
2011 May 31
2
WARNING: at fs/btrfs/extent-tree.c:5695 btrfs_alloc_free_block+0x22c/0x370 [btrfs]()
.../0x370 [btrfs]
May 30 23:25:17 localhost kernel: [17117.213636] [<ffffffff8139cc4c>] ?
schedule+0x53c/0xd70
May 30 23:25:17 localhost kernel: [17117.213643] [<ffffffff8139ccbc>] ?
schedule+0x5ac/0xd70
May 30 23:25:17 localhost kernel: [17117.213672] [<ffffffffa01e8a1f>] ?
read_extent_buffer+0xcf/0x1e0 [btrfs]
May 30 23:25:17 localhost kernel: [17117.213698] [<ffffffffa01a2853>] ?
__btrfs_cow_block+0x163/0x8d0 [btrfs]
May 30 23:25:17 localhost kernel: [17117.213727] [<ffffffffa01bfc69>] ?
btrfs_buffer_uptodate+0x49/0x70 [btrfs]
May 30 23:25:17 localhost kernel: [171...
2013 Feb 03
3
kernel BUG at fs/btrfs/extent-tree.c:6185!
Hi guys,
my computer suddenly failed to boot. It seams that it is unable to mount
/home which is btrfs. Here are the messages I get during the boot (the
relevant part; hopefully):
Feb 02 13:59:58 Edge kernel: kernel BUG at fs/btrfs/extent-tree.c:6185!
Feb 02 13:59:58 Edge kernel: invalid opcode: 0000 [#1] PREEMPT SMP
Feb 02 13:59:58 Edge kernel: Modules linked in: joydev coretemp kvm_intel
kvm
2010 Mar 02
3
2.6.33 high cpu usage
With the ATI bug I was hitting earlier fixed, only my btrfs partition
continues to show high cpu usage for some operations.
Rsync, git pull, git checkout and svn up are typicall operations which
trigger the high cpu usage.
As an example, this perf report is from using git checkout to change to
a new branch; the change needed to checkout 208 files out of about 1600
total files. du(1) reports
2012 Dec 19
6
HIT WARN_ON WARNING: at fs/btrfs/extent-tree.c:6339 btrfs_alloc_free_block+0x126/0x330 [btrfs]()
Hi all,
Did someone have met this problem before. When doing the tests, I hit
the WARN_ON. Is this log make sense or someone had fixed the problem.
If needed, I can supply the detail log and the testcase source file.
Version: the latest codes at linus git tree.
[ 2140.981293] use_block_rsv: 336 callbacks suppressed
[ 2140.981295] ------------[ cut here ]------------
[ 2140.981308]
2012 Aug 01
17
[PATCH] add crtime to the snapshot list
From: Anand <anand.jain@oracle.com>
This patch adds creation-time to the snapshot list display,
which would help user to better manage the snapshots when
number of snapshots grow substantially. This patch is developed
and on top of the send/receive btrfs and btrfs-progs repo at
git://github.com/ablock84/linux-btrfs.git (send-v2)
git://github.com/ablock84/btrfs-progs.git (send-v2)
2009 Nov 12
0
[PATCH 03/12] Btrfs: Rewrite btrfs_drop_extents
...recow = 1;
- } else {
- path->slots[0]++;
- }
+ if (extent_end <= search_start) {
+ path->slots[0]++;
goto next_slot;
}
- if (end <= extent_end && start >= key.offset && found_inline)
- *hint_byte = EXTENT_MAP_INLINE;
-
- if (found_extent) {
- read_extent_buffer(leaf, &old, (unsigned long)extent,
- sizeof(old));
- }
-
- if (end < extent_end && end >= key.offset) {
- bookend = 1;
- if (found_inline && start <= key.offset)
- keep = 1;
+ search_start = max(key.offset, start);
+ if (recow) {
+ btrfs_release_path...
2008 Jan 07
1
[PATCH]Add rollback support for the converter
...ollback) {
+ ret = do_rollback(file, 0);
+ } else {
+ ret = do_convert(file, datacsum);
+ }
+ return ret;
+}
diff -r 12138d4beeb0 disk-io.c
--- a/disk-io.c Fri Jan 04 11:29:55 2008 -0500
+++ b/disk-io.c Mon Jan 07 23:35:25 2008 +0800
@@ -417,7 +417,13 @@ struct btrfs_root *open_ctree_fd(int fp,
read_extent_buffer(fs_info->sb_buffer, fs_info->fsid,
(unsigned long)btrfs_super_fsid(fs_info->sb_buffer),
BTRFS_FSID_SIZE);
+
disk_super = &fs_info->super_copy;
+ if (strncmp((char *)(&disk_super->magic), BTRFS_MAGIC,
+ sizeof(disk_super->magic))) {
+ printk("No v...
2012 Mar 20
13
[PATCH 0 of 3 v2] PV-GRUB: add support for ext4 and btrfs
Hi,
The following patches add support for ext4 and btrfs to
PV-GRUB. These patches are taken nearly verbatim from those provided
by Fedora and Gentoo.
We''ve been using these patches for the PV-GRUB images available in EC2
for some time now with no problems.
Changes from v1:
- Makefile has been changed to check the exit code from patch
- The btrfs patch has been rebased to apply
2011 Aug 26
0
[PATCH] Btrfs: make some functions return void
...tic void fill_device_from_item(struct extent_buffer *leaf,
+ struct btrfs_dev_item *dev_item,
+ struct btrfs_device *device)
{
unsigned long ptr;
@@ -3508,8 +3507,6 @@ static int fill_device_from_item(struct extent_buffer *leaf,
ptr = (unsigned long)btrfs_device_uuid(dev_item);
read_extent_buffer(leaf, device->uuid, ptr, BTRFS_UUID_SIZE);
-
- return 0;
}
static int open_seed_devices(struct btrfs_root *root, u8 *fsid)
diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h
index 6d866db..f019e54 100644
--- a/fs/btrfs/volumes.h
+++ b/fs/btrfs/volumes.h
@@ -202,7 +202,7 @@ int btrfs_add_de...
2012 May 25
6
[PATCH v5 0/3] Btrfs: add IO error device stats
Changes v1-v2:
- Remove restriction that BTRFS_IOC_GET_DEVICE_STATS is a privileged
operation
- Cast u64 to unsigned long long for printf()
Changes v2-v3:
- Rebased on Chris'' current master
Changes v3-v4:
- Add padding at end of ioctl structure
Changes v4-v5:
- The statistic members in the ioctl are now organized as an array of
64 bit values. Symbolic names for the array indexes