diff mbox

No space left on device (28)

Message ID 20130325201426.GG1955@localhost.localdomain (mailing list archive)
State New, archived
Headers show

Commit Message

Josef Bacik March 25, 2013, 8:14 p.m. UTC
On Fri, Mar 22, 2013 at 02:55:07PM -0600, Stefan Priebe wrote:
> Hi Jsoef,
> 
> thanks!

Ok I don't think the thing I just fixed will make any difference for you so
here's another debug patch, just apply it on top of what I've already sent you
and re-run and give me the dmesg again.  Thanks,

Josef

Comments

Stefan Priebe - Profihost AG March 26, 2013, 7:45 a.m. UTC | #1
Hi,

output here:
[  590.546162] returning enospc, space_info 3, size 0 reserved 0, flush 
2, flush_state 7  dumping space info
[  590.548280] space_info 4 has 6439292928 free, is full
[  590.548283] space_info total=25748307968, used=19308916736, pinned=0, 
reserved=32768, may_use=6438354944, readonly=65536
[  590.550147] returning enospc, space_info 3, size 0 reserved 0, flush 
2, flush_state 7  dumping space info
[  590.552264] space_info 4 has 6439284736 free, is full
[  590.552267] space_info total=25748307968, used=19308916736, pinned=0, 
reserved=40960, may_use=6438354944, readonly=65536
[  590.554141] returning enospc, space_info 3, size 0 reserved 0, flush 
2, flush_state 7  dumping space info
[  590.556258] space_info 4 has 6439284736 free, is full
[  590.556261] space_info total=25748307968, used=19308916736, pinned=0, 
reserved=40960, may_use=6438354944, readonly=65536
[  591.145255] returning enospc, space_info 3, size 0 reserved 0, flush 
2, flush_state 7  dumping space info
[  591.147373] space_info 4 has 6439235584 free, is full
[  591.147375] space_info total=25748307968, used=19308916736, pinned=0, 
reserved=90112, may_use=6438354944, readonly=65536
[  595.560257] returning enospc, space_info 3, size 0 reserved 0, flush 
2, flush_state 7  dumping space info
[  595.562390] space_info 4 has 6439120896 free, is full
[  595.562393] space_info total=25748307968, used=19309047808, pinned=0, 
reserved=73728, may_use=6438297600, readonly=65536

Am 25.03.2013 21:14, schrieb Josef Bacik:
> On Fri, Mar 22, 2013 at 02:55:07PM -0600, Stefan Priebe wrote:
>> Hi Jsoef,
>>
>> thanks!
>
> Ok I don't think the thing I just fixed will make any difference for you so
> here's another debug patch, just apply it on top of what I've already sent you
> and re-run and give me the dmesg again.  Thanks,
>
> Josef
>
>
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index aabaea6..bf6433f 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -4162,7 +4162,11 @@ out:
>   	}
>   	if (flushing) {
>   		if (ret == -ENOSPC) {
> -			printk(KERN_ERR "returning enospc, dumping space info\n");
> +			spin_lock(&block_rsv->lock);
> +			printk(KERN_ERR "returning enospc, space_info %u, size %Lu reserved %Lu, "
> +			       "flush %d, flush_state %d  dumping space info\n", block_rsv->type,
> +			       block_rsv->size, block_rsv->reserved, flush, flush_state);
> +			spin_unlock(&block_rsv->lock);
>   			dump_space_info(space_info, 0, 0);
>   		}
>
>
--
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
Josef Bacik March 26, 2013, 12:53 p.m. UTC | #2
On Tue, Mar 26, 2013 at 01:45:42AM -0600, Stefan Priebe wrote:
> Hi,
> 
> output here:
> [  590.546162] returning enospc, space_info 3, size 0 reserved 0, flush 
> 2, flush_state 7  dumping space info
> [  590.548280] space_info 4 has 6439292928 free, is full
> [  590.548283] space_info total=25748307968, used=19308916736, pinned=0, 
> reserved=32768, may_use=6438354944, readonly=65536
> [  590.550147] returning enospc, space_info 3, size 0 reserved 0, flush 
> 2, flush_state 7  dumping space info
> [  590.552264] space_info 4 has 6439284736 free, is full
> [  590.552267] space_info total=25748307968, used=19308916736, pinned=0, 
> reserved=40960, may_use=6438354944, readonly=65536
> [  590.554141] returning enospc, space_info 3, size 0 reserved 0, flush 
> 2, flush_state 7  dumping space info
> [  590.556258] space_info 4 has 6439284736 free, is full
> [  590.556261] space_info total=25748307968, used=19308916736, pinned=0, 
> reserved=40960, may_use=6438354944, readonly=65536
> [  591.145255] returning enospc, space_info 3, size 0 reserved 0, flush 
> 2, flush_state 7  dumping space info
> [  591.147373] space_info 4 has 6439235584 free, is full
> [  591.147375] space_info total=25748307968, used=19308916736, pinned=0, 
> reserved=90112, may_use=6438354944, readonly=65536
> [  595.560257] returning enospc, space_info 3, size 0 reserved 0, flush 
> 2, flush_state 7  dumping space info
> [  595.562390] space_info 4 has 6439120896 free, is full
> [  595.562393] space_info total=25748307968, used=19309047808, pinned=0, 
> reserved=73728, may_use=6438297600, readonly=65536
> 

Weird, we have all the flushing stuff set and yet there is still a whole lot of
outstanding reservations.  Do you have compression enabled?  Thanks,

Josef
--
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
Stefan Priebe - Profihost AG March 26, 2013, 12:55 p.m. UTC | #3
Hi Josef,

Am 26.03.2013 13:53, schrieb Josef Bacik:
> On Tue, Mar 26, 2013 at 01:45:42AM -0600, Stefan Priebe wrote:
>> Hi,
>>
>> output here:
>> [  590.546162] returning enospc, space_info 3, size 0 reserved 0, flush 
>> 2, flush_state 7  dumping space info
>> [  590.548280] space_info 4 has 6439292928 free, is full
>> [  590.548283] space_info total=25748307968, used=19308916736, pinned=0, 
>> reserved=32768, may_use=6438354944, readonly=65536
>> [  590.550147] returning enospc, space_info 3, size 0 reserved 0, flush 
>> 2, flush_state 7  dumping space info
>> [  590.552264] space_info 4 has 6439284736 free, is full
>> [  590.552267] space_info total=25748307968, used=19308916736, pinned=0, 
>> reserved=40960, may_use=6438354944, readonly=65536
>> [  590.554141] returning enospc, space_info 3, size 0 reserved 0, flush 
>> 2, flush_state 7  dumping space info
>> [  590.556258] space_info 4 has 6439284736 free, is full
>> [  590.556261] space_info total=25748307968, used=19308916736, pinned=0, 
>> reserved=40960, may_use=6438354944, readonly=65536
>> [  591.145255] returning enospc, space_info 3, size 0 reserved 0, flush 
>> 2, flush_state 7  dumping space info
>> [  591.147373] space_info 4 has 6439235584 free, is full
>> [  591.147375] space_info total=25748307968, used=19308916736, pinned=0, 
>> reserved=90112, may_use=6438354944, readonly=65536
>> [  595.560257] returning enospc, space_info 3, size 0 reserved 0, flush 
>> 2, flush_state 7  dumping space info
>> [  595.562390] space_info 4 has 6439120896 free, is full
>> [  595.562393] space_info total=25748307968, used=19309047808, pinned=0, 
>> reserved=73728, may_use=6438297600, readonly=65536
>>
> 
> Weird, we have all the flushing stuff set and yet there is still a whole lot of
> outstanding reservations.  Do you have compression enabled?  Thanks,

no - it's just mounted with mount -o noatime

:~# cat /proc/mounts | grep btrfs
/dev/mapper/raid54tb1 /mnt btrfs rw,noatime,space_cache 0 0

Greets,
Stefan
--
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
diff mbox

Patch

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index aabaea6..bf6433f 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -4162,7 +4162,11 @@  out:
 	}
 	if (flushing) {
 		if (ret == -ENOSPC) {
-			printk(KERN_ERR "returning enospc, dumping space info\n");
+			spin_lock(&block_rsv->lock);
+			printk(KERN_ERR "returning enospc, space_info %u, size %Lu reserved %Lu, "
+			       "flush %d, flush_state %d  dumping space info\n", block_rsv->type,
+			       block_rsv->size, block_rsv->reserved, flush, flush_state);
+			spin_unlock(&block_rsv->lock);
 			dump_space_info(space_info, 0, 0);
 		}