Re: [PATCH] Btrfs: fix handling of faults from btrfs_copy_from_user

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 17, 2016 at 11:57:07PM +0200, Adam Borowski wrote:
> On Tue, May 17, 2016 at 05:00:49PM -0400, Chris Mason wrote:
> > On Tue, May 17, 2016 at 10:47:27PM +0200, Adam Borowski wrote:
> > > > Hmmm, some of your traces mentioned compression, do you have compression
> > > > enabled?
> > > 
> > > Yeah, I mount with noatime,compress=lzo.
> > > 
> > > > Also, if you can gdb your vmlinux (or btrfs.ko) and find this line:
> > > > 
> > > > gdb> list *__btrfs_buffered_write+0x748
> > > 
> > > 0xffffffff8152eb78 is in __btrfs_buffered_write (fs/btrfs/file.c:1564).
> > > 1559	
> > > 1560	reserve_metadata:
> > > 1561			ret = btrfs_delalloc_reserve_metadata(inode, reserve_bytes);
> > > 1562			if (ret) {
> > > 1563				if (!only_release_metadata)
> > > 1564					btrfs_free_reserved_data_space(inode, pos,
> > > 1565								       write_bytes);
> > > 1566				else
> > > 1567					btrfs_end_write_no_snapshoting(root);
> > > 1568				break;
> > > 
> > 
> > Aha, so you're getting an enospc with compression on and the accounting
> > doesn't line up.  I should be able to trigger this.
> 
> This partition was fully balanced just a few days ago so I didn't even think
> to look at df.
> 
> [~]# df -h
> /dev/sda1       216G  161G   53G  76% /
> 
> [~]# btrfs files df /
> Data, single: total=209.12GiB, used=156.46GiB
> System, single: total=32.00MiB, used=48.00KiB
> Metadata, single: total=6.00GiB, used=3.51GiB
> GlobalReserve, single: total=512.00MiB, used=0.00B
> 
> However, after partially balancing it a bit:
> 
> [~]# btrfs files df /
> Data, single: total=172.00GiB, used=156.03GiB
> System, single: total=32.00MiB, used=48.00KiB
> Metadata, single: total=5.00GiB, used=3.50GiB
> GlobalReserve, single: total=512.00MiB, used=0.00B
> 
> I can't reproduce the failure anymore.

Yeah, I'm not sure yet if this is related to the page faulting problem,
but Dave Jones triggered this error back in v4.4.  I'll still fix it, it
should be an alignment issue with write_bytes.

-chris

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux