Displaying 20 results from an estimated 900 matches similar to: "[PATCH] Btrfs: only drop modified extents if we logged the whole inode"
2012 Sep 17
0
[PATCH] Btrfs: do not hold the write_lock on the extent tree while logging V2
Dave Sterba pointed out a sleeping while atomic bug while doing fsync. This
is because I''m an idiot and didn''t realize that rwlock''s were spin locks, so
we''ve been holding this thing while doing allocations and such which is not
good. This patch fixes this by dropping the write lock before we do
anything heavy and re-acquire it when it is done. We also need
2013 Oct 25
0
[PATCH] Btrfs: do not bug_on if we try to cow a free space cache inode
We can just return an error and we''ll bail out properly. We still want to catch
this case to make sure we don''t have a bug somewhere, so just warn if this pops
up. Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
---
fs/btrfs/inode.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 961ae6f..db6e11f
2007 Nov 06
0
[PATCH] check return value in extent map allocation
Hello,
I just began digging through the source last night. I hope nobody minds if I just
jump in and start sending some patches. The return of extent_map_init is not
checked at module startup. The net effect of this function is checked at inode
space allocation time though, so my patch decides to quit early on if the alloc
fails.
Thanks,
Wyatt Banks
diff -r 29b8cc7794ac extent_map.c
---
2013 Nov 12
0
[PATCH] Btrfs: incompatible format change to remove hole extents V4
Btrfs has always had these filler extent data items for holes in inodes. This
has made somethings very easy, like logging hole punches and sending hole
punches. However for large holey files these extent data items are pure
overhead. So add an incompatible feature to no longer add hole extents to
reduce the amount of metadata used by these sort of files. This has a few
changes for logging and
2010 Oct 30
0
[PATCH] Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...)) - generated by Coccinelle
This patch was generated using the Coccinelle scripts and btrfs
code in v2.6.36-9657-g7a3f8fe.
Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))
The semantic patch that makes this change is available
in scripts/coccinelle/api/err_cast.cocci.
More information about semantic patching is available at
http://coccinelle.lip6.fr/
Signed-off-by: Chris Samuel
2013 Nov 19
6
[PATCH] Btrfs: fix very slow inode eviction and fs unmount
The inode eviction can be very slow, because during eviction we
tell the VFS to truncate all of the inode''s pages. This results
in calls to btrfs_invalidatepage() which in turn does calls to
lock_extent_bits() and clear_extent_bit(). These calls result in
too many merges and splits of extent_state structures, which
consume a lot of time and cpu when the inode has many pages. In
some
2011 Feb 12
3
[PATCH] fix uncheck memory allocations
To make Btrfs code more robust, several return value checks where memory
allocation can fail are introduced. I use BUG_ON where I don''t know how
to handle the error properly, which increases the number of using the
notorious BUG_ON, though.
Signed-off-by: Yoshinori Sano <yoshinori.sano@gmail.com>
---
fs/btrfs/compression.c | 6 ++++++
fs/btrfs/extent-tree.c | 2 ++
2010 Mar 20
0
[patch 2/3] btrfs cleanup: remove more dead code
rb_node cannot be an ERR_PTR() here so I removed the misleading check.
Also I removed some more dead code at the bottom.
It looks like the code from lookup_extent_mapping() may have been
copy and pasted into search_extent_mapping()?
Signed-off-by: Dan Carpenter <error27@gmail.com>
---
This doesn''t change anything. Could you put it into linux-next?
diff --git
2008 Oct 27
0
[PATCH 3/4] update nodatacow code
Hello,
This patch simplifies the nodatacow checker. If all references
were created after the latest snapshot, then we can avoid COW
safely. This patch also updates run_delalloc_nocow to do more
fine-grained checking.
Regards
Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
---
diff -urp 3/fs/btrfs/ctree.h 4/fs/btrfs/ctree.h
--- 3/fs/btrfs/ctree.h 2008-10-27 16:31:51.000000000 +0800
+++
2019 Mar 26
0
[PATCH nbdkit v4 08/15] log: Log extents requests.
Typical output:
2019-03-26 18:22:17.287434 connection=2 Extents id=2 offset=0x0 count=0x40000000 req_one=1 ...
2019-03-26 18:22:17.290040 connection=2 ...Extents id=2 extents=[{ offset=0x0, length=0x250000, type=0 }, { offset=0x250000, length=0x7db0000, type=3 }, { offset=0x8000000, length=0x8000, type=0 }, { offset=0x8008000, length=0x38000, type=3 }, { offset=0x8040000, length=0x208000, type=0
2019 Mar 28
0
[PATCH nbdkit v5 FINAL 09/19] log: Log extents requests.
Typical output:
2019-03-26 18:22:17.287434 connection=2 Extents id=2 offset=0x0 count=0x40000000 req_one=1 ...
2019-03-26 18:22:17.290040 connection=2 ...Extents id=2 extents=[{ offset=0x0, length=0x250000, type=0 }, { offset=0x250000, length=0x7db0000, type=3 }, { offset=0x8000000, length=0x8000, type=0 }, { offset=0x8008000, length=0x38000, type=3 }, { offset=0x8040000, length=0x208000, type=0
2012 Jan 26
1
[PATCH] btrfs: mask out gfp flasg in releasepage
btree_releasepage is a callback and can be passed unknown gfp flags and then
they may end up in kmem_cache_alloc called from alloc_extent_state, slab
allocator will BUG_ON when there is HIGHMEM or DMA32 flag set.
This may happen when btrfs is mounted from a loop device, which masks out
__GFP_IO flag. The check in try_release_extent_state
3399 if ((mask & GFP_NOFS) ==
2019 Apr 01
2
[PATCH nbdkit] log: Decode the extent type in output.
Instead of printing something like ‘type=0’ or ‘type=3’, this changes
the output to show the hole and zero flags separately. For example:
$ ./nbdkit -U - --filter=log sh - logfile=/dev/stdout \
--run 'qemu-img map $nbd' <<'EOF'
case "$1" in
get_size) echo 1M ;;
pread) dd if=/dev/zero count=$3 iflag=count_bytes ;;
can_extents) exit 0 ;;
2013 Jan 10
0
[PATCH 02/11] Btrfs: use atomic for fs_info->last_trans_committed
fs_info->last_trans_committed is a 64bits variant, we might get a wrong
value on the 32bit machines if we access it directly. Fix it by atomic
operation.
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
---
fs/btrfs/ctree.h | 2 +-
fs/btrfs/disk-io.c | 2 +-
fs/btrfs/file.c | 2 +-
fs/btrfs/ioctl.c | 2
2013 May 14
1
[PATCH] Btrfs-progs: fix missing recow roots when making btrfs filesystem
When making btrfs filesystem. we firstly write root leaf to
specified filed, and then we recow the root. If we don''t recow,
some trees are not in the correct block group.
Steps to reproduce:
dd if=/dev/zero of=test.img bs=1M count=100
mkfs.btrfs -f test.img
btrfs-debug-tree test.img
extent tree key (EXTENT_TREE ROOT_ITEM 0)
leaf 4210688 items 10 free space 3349 generation 4 owner 2
2011 Feb 18
1
How to fsck.ocfs2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi everyone,
simple question: how can I execute a "fsck.ocfs2 /dev/sdf"?
All I get is
- ---snip---
myhost:~ # fsck.ocfs2 /dev/sdf
fsck.ocfs2 1.4.3
Checking OCFS2 filesystem in /dev/sdf:
Label: SAP01
UUID: 5969C8CABB854F8EA9C17B5B8DE48EC6
Number of blocks: 183500800
Block size: 4096
Number of
2009 Dec 15
0
[PATCH 1/4] btrfs: fix the bug that __tree_search() returns the wrong result in extent_map.c
__tree_search() returns the reverse result about the prev node and the next node. And we can
get the prev node and the next node directly by rb_prev() and rb_next(), so it is unnecessary
to use while loop to get them.
This patch fixes this bug of the wrong result.
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
---
fs/btrfs/extent_map.c | 13 ++++---------
1 files changed, 4
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
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 Nov 09
12
WARNING: at fs/btrfs/inode.c:2198 btrfs_orphan_commit_root+0xa8/0xc0
Hello,
I''m seeing a lot of warnings in dmesg with a BTRFS filesystem. I''m using
the 3.1 kernel, I found a patch for these warnings (
http://marc.info/?l=linux-btrfs&m=131547325515336&w=2)
<http://marc.info/?l=linux-btrfs&m=131547325515336&w=2>, but that patch
has already been included in 3.1. Are there any other patches I can try?
I''m using