Displaying 20 results from an estimated 300 matches similar to: "Btrfs Intermittent ENOSPC Issues"
2012 Aug 01
7
[PATCH] Btrfs: barrier before waitqueue_active
We need an smb_mb() before waitqueue_active to avoid missing wakeups.
Before Mitch was hitting a deadlock between the ordered flushers and the
transaction commit because the ordered flushers were waiting for more refs
and were never woken up, so those smp_mb()''s are the most important.
Everything else I added for correctness sake and to avoid getting bitten by
this again somewhere else.
2011 Jul 26
0
[PATCH] Btrfs: use bytes_may_use for all ENOSPC reservations
We have been using bytes_reserved for metadata reservations, which is wrong
since we use that to keep track of outstanding reservations from the allocator.
This resulted in us doing a lot of silly things to make sure we don''t allocate a
bunch of metadata chunks since we never had a real view of how much space was
actually in use by metadata.
There are a lot of fixes in here to make this
2011 Jul 27
0
[PATCH] Btrfs: use bytes_may_use for all ENOSPC reservations V2
We have been using bytes_reserved for metadata reservations, which is wrong
since we use that to keep track of outstanding reservations from the allocator.
This resulted in us doing a lot of silly things to make sure we don''t allocate a
bunch of metadata chunks since we never had a real view of how much space was
actually in use by metadata.
There are a lot of fixes in here to make this
2010 Nov 18
9
Interesting problem with write data.
Hi,
Recently, I made a btrfs to use. And I met slowness problem. Trying
to diag it. I found this:
1. dd if=/dev/zero of=test count=1024 bs=1MB
This is fast, at about 25MB/s, and reasonable iowait.
2. dd if=/dev/zero of=test count=1 bs=1GB
This is pretty slow, at about 1.5MB/s, and 90%+ iowait, constantly.
May I know why it works like this? Thanks.
--
To unsubscribe from this list: send the
2012 Sep 12
2
Deadlock in btrfs-cleaner, related to snapshot deletion
Hello,
(this is a recap of yesterday''s discussion on BTRFS IRC, also to save relevant pastes before pastebins expire)
I have my /home on btrfs; a cronjob makes one snapshot every 30 minutes; these
snapshots are kept for 24-48 hours, then deleted in batches.
This is a 16K Leaf/Node BTRFS on top of mdadm RAID1.
As system uptime approached 2 weeks, I started noticing that the free space
2008 Oct 10
1
[PATCH] fix enospc when there is plenty of space
Hello,
So there is an odd case where we can possibly return -ENOSPC when there is in
fact space to be had. I think I finally have a hold on what the problem is, it
only happens with Metadata writes, and happens _very_ infrequently. What has to
happen is we have to allocate have allocated out of the first logical byte on
the disk, which would set last_alloc to first_logical_byte(root, 0), so
2010 Apr 19
0
[PATCH 08/12] Btrfs: Introduce global metadata reservation
Reserve metadata space for extent tree, checksum tree and root tree
Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
---
diff -urp 8/fs/btrfs/ctree.h 9/fs/btrfs/ctree.h
--- 8/fs/btrfs/ctree.h 2010-04-18 10:26:38.327697818 +0800
+++ 9/fs/btrfs/ctree.h 2010-04-18 10:30:01.883697869 +0800
@@ -682,21 +682,15 @@ struct btrfs_space_info {
u64 bytes_reserved; /* total bytes the allocator has
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
This patch finally gives us full proper -ENOSPC handling for btrfs. Now
whenever you do a btrfs_start_transaction, you must specify the number of items
you are planning to add/delete/modify. The worst case number of blocks that
could be modified by changing that number of items will be calculated and
checked against the amount of free space in the space_info where the root you
are modifying
2012 Apr 08
4
[PATCH] Revert "Btrfs: increase the global block reserve estimates"
This reverts commit 5500cdbe14d7435e04f66ff3cfb8ecd8b8e44ebf.
We had numerous reports of premature ENOSPC that were bisected to this
patch. Reverting will not break things but a warning in ''use_block_rsv''
may show up in the syslog.
There''s no alternative fix in sight and the ENOSPC problem affects all
3.3 btrfs users during normal filesystem use.
CC:
2009 Mar 20
1
[PATCH 2/4] Btrfs: clean up find_free_extent
The whole loop=0,1,2 thing was kind of odd and not very self explanatory. I''ve
replaced it with a list_for_each_entry on space_info->block_groups. If we have
a hint we just jump into the loop with the block group and start looking for
space. If we don''t find anything we start at the beginning and start looking.
We never come out of the loop with a ref on the block_group
2012 Dec 13
22
[PATCH] Btrfs: fix a deadlock on chunk mutex
An user reported that he has hit an annoying deadlock while playing with
ceph based on btrfs.
Current updating device tree requires space from METADATA chunk,
so we -may- need to do a recursive chunk allocation when adding/updating
dev extent, that is where the deadlock comes from.
If we use SYSTEM metadata to update device tree, we can avoid the recursive
stuff.
Reported-by: Jim Schutt
2012 Apr 29
0
[PATCH 1/2] vfs: re-implement writeback_inodes_sb(_nr)_if_idle() and rename them
writeback_inodes_sb(_nr)_if_idle() is re-implemented by replacing down_read()
with down_read_trylock() because
- If ->s_umount is write locked, then the sb is not idle. That is
writeback_inodes_sb(_nr)_if_idle() needn''t wait for the lock.
- writeback_inodes_sb(_nr)_if_idle() grabs s_umount lock when it want to start
writeback, it may bring us deadlock problem when doing umount.
2011 Feb 09
1
warning in btrfs_free_block_groups
I suspect this might be related to previous btrfs errors I''ve had on
the same filesystem. See:
http://python.ca/nas/linux/btrfs_bug.txt
The most recent kernel message is:
WARNING: at fs/btrfs/extent-tree.c:8239 btrfs_free_block_groups+0x218/0x275()
Hardware name: MS-7388
Modules linked in: udf crc_itu_t isofs loop nls_iso8859_1 vboxnetflt vboxdrv nls_utf8 nls_cp437
2012 Jun 23
9
[PATCH 0/5] btrfs: lz4/lz4hc compression
WARNING: This is not compatible with the previous lz4 patchset. If you''re using
experimental compression that isn''t in mainline kernels, be prepared to backup
and restore or decompress before upgrading, and have backups in case it eats
data (which appears not to be a problem any more, but has been during
development).
These patches add lz4 and lz4hc compression
2013 Jun 10
1
btrfs-cleaner Blocked on xfstests 068
I''m running into a problem with the btrfs-cleaner thread becoming
blocked on xfstests 068.
The test locks up indefinitely without completing (normally it
finished in about 45 seconds on my test box).
I''ve replicated the issue on 3.10.0_rc5 and the for-linus branch of 3.9.0.
I ran a git bisect on the 3.9.0 for-linus branch, and tracked my issue
to the following commit:
commit
2012 Dec 18
1
[PATCH] Btrfs: set flushing if we're limited flushing
We still need to say we''re flushing if we''re limit flushing to keep somebody
from coming in and stealing our reservation. Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
---
fs/btrfs/extent-tree.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index ad8786b..721efb8 100644
---
2012 Jan 11
12
[PATCH 00/11] Btrfs: some patches for 3.3
The biggest one is a fix for fstrim, and there''s a fix for on-disk
free space cache. Others are small fixes and cleanups.
The last three have been sent weeks ago.
The patchset is also available in this repo:
git://repo.or.cz/linux-btrfs-devel.git for-chris
Note there''s a small confict with Al Viro''s vfs changes.
Li Zefan (11):
Btrfs: add pinned extents to
2012 Feb 16
3
[PATCH 1/4] Btrfs: be less strict on finding next node in clear_extent_bit
In clear_extent_bit, it is enough that next node is adjacent in tree level.
Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
---
fs/btrfs/extent_io.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index fcf77e1..e941cc4 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -577,8 +577,7 @@ hit_next:
if
2012 Nov 19
4
btrfs crash - Null dereference - 3.7.0-rc5-00068-gc5e35d6
Hi,
my system suddenly crashed and gave me this dump:
http://imgur.com/oO6S0
I checked and there is not btrfs commit in linus'' tree since I compiled this
kernel.
Gustavo
2010 Oct 26
0
[PATCH] Btrfs: set trans to null in reserve_metadata_bytes if we commit the transaction
btrfs_commit_transaction will free our trans, but because we pass trans to
shrink_delalloc we could possibly have a use after free situation. So instead
if we commit the transaction, set trans to null and set committed to true so we
don''t keep trying to commit a transaction. This fixes a panic I could reproduce
at will. Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
---