* BTRFS: Transaction aborted (error -28)
@ 2016-07-29 13:37 Mordechay Kaganer
2016-07-29 17:23 ` Duncan
0 siblings, 1 reply; 4+ messages in thread
From: Mordechay Kaganer @ 2016-07-29 13:37 UTC (permalink / raw)
To: Btrfs BTRFS
B.H.
Hello!
While saving a backup (using rsync) the FS went read only and i've got
BTRFS: Transaction aborted (error -28) error. While writing a new
backup i was also doing btrfs send of another subvolume on the same FS
from this server out to another server.
After reboot, the device mounts OK. Does it mean something went wrong
with the FS? Need to run a full balance?
The device actually has more than 3TB free space:
# btrfs fi usage .
Overall:
Device size: 43.66TiB
Device allocated: 40.43TiB
Device unallocated: 3.23TiB
Device missing: 0.00B
Used: 40.42TiB
Free (estimated): 3.24TiB (min: 1.62TiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global reserve: 512.00MiB (used: 48.00KiB)
Data,single: Size:39.92TiB, Used:39.92TiB
/dev/md1 10.19TiB
/dev/md2 10.21TiB
/dev/md3 10.41TiB
/dev/md4 9.11TiB
Metadata,RAID1: Size:261.00GiB, Used:259.69GiB
/dev/md1 196.00GiB
/dev/md2 178.00GiB
/dev/md3 65.00GiB
/dev/md4 83.00GiB
System,RAID1: Size:8.00MiB, Used:4.47MiB
/dev/md1 8.00MiB
/dev/md2 8.00MiB
Unallocated:
/dev/md1 545.79GiB
/dev/md2 544.80GiB
/dev/md3 457.81GiB
/dev/md4 1.72TiB
btrfs-tools version: btrfs-progs v4.3.1
The kernel is based on Ubuntu mainline PPA 4.3.3
(http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.3.3-wily/) with a
patch to fix RAID10 issue.
The kernel log:
[5099580.930974] ------------[ cut here ]------------
[5099580.930989] WARNING: CPU: 1 PID: 6643 at
/home/yemot/build/ubuntu-mainline/fs/btrfs/extent-tree.c:6362
__btrfs_free_extent.isra.66+0x132/0xcb0 [btrfs]()
[5099580.930990] BTRFS: Transaction aborted (error -28)
[5099580.930991] Modules linked in: ipmi_ssif x86_pkg_temp_thermal
intel_powerclamp coretemp kvm_intel kvm crct10dif_pclmul crc32_pclmul
aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper ast
snd_hda_codec_realtek cryptd snd_hda_codec_generic ttm sb_edac
serio_raw drm_kms_helper edac_core joydev input_leds drm snd_hda_intel
snd_hda_codec fb_sys_fops syscopyarea lpc_ich snd_hda_core sysfillrect
sysimgblt snd_hwdep snd_pcm snd_timer mei_me snd soundcore mei ipmi_si
8250_fintek ipmi_msghandler wmi nfsd shpchp auth_rpcgss lp mac_hid
nfs_acl parport nfs lockd grace sunrpc fscache btrfs ses enclosure
raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor
async_tx xor raid6_pq raid1 igb i2c_algo_bit hid_generic isci dca
firewire_ohci usbhid raid0 libsas ptp firewire_core ahci psmouse hid
multipath pps_core libahci scsi_transport_sas crc_itu_t aacraid fjes
linear
[5099580.931025] CPU: 1 PID: 6643 Comm: kworker/u16:19 Not tainted
4.3.3-040303.20160107-raid10-patch-generic #patch
[5099580.931026] Hardware name: To Be Filled By O.E.M. To Be Filled By
O.E.M./EPC602D8A, BIOS P1.20 04/16/2014
[5099580.931036] Workqueue: btrfs-extent-refs btrfs_extent_refs_helper [btrfs]
[5099580.931037] ffffffffc02aa7b0 ffff88000bfd3ab0 ffffffff813a4524
ffff88000bfd3af8
[5099580.931039] ffff88000bfd3ae8 ffffffff81079226 00000000ffffffe4
00000deed72a4000
[5099580.931040] ffff8805fca9a1b0 ffff880857982000 0000000000000000
ffff88000bfd3b48
[5099580.931041] Call Trace:
[5099580.931045] [<ffffffff813a4524>] dump_stack+0x44/0x60
[5099580.931047] [<ffffffff81079226>] warn_slowpath_common+0x86/0xc0
[5099580.931049] [<ffffffff810792ac>] warn_slowpath_fmt+0x4c/0x50
[5099580.931054] [<ffffffffc020fe32>]
__btrfs_free_extent.isra.66+0x132/0xcb0 [btrfs]
[5099580.931059] [<ffffffffc0213e2c>]
__btrfs_run_delayed_refs+0x71c/0x10e0 [btrfs]
[5099580.931065] [<ffffffffc021751d>] btrfs_run_delayed_refs+0x7d/0x2b0 [btrfs]
[5099580.931070] [<ffffffffc0217787>] delayed_ref_async_start+0x37/0x90 [btrfs]
[5099580.931078] [<ffffffffc025c100>] normal_work_helper+0xc0/0x270 [btrfs]
[5099580.931080] [<ffffffff8108ee9d>] ? pwq_activate_delayed_work+0x3d/0x80
[5099580.931087] [<ffffffffc025c4e2>]
btrfs_extent_refs_helper+0x12/0x20 [btrfs]
[5099580.931088] [<ffffffff81091057>] process_one_work+0x157/0x3e0
[5099580.931090] [<ffffffff81091a3e>] worker_thread+0x4e/0x470
[5099580.931091] [<ffffffff810919f0>] ? rescuer_thread+0x300/0x300
[5099580.931093] [<ffffffff81096d09>] kthread+0xc9/0xe0
[5099580.931095] [<ffffffff81096c40>] ? kthread_park+0x60/0x60
[5099580.931098] [<ffffffff817b4acf>] ret_from_fork+0x3f/0x70
[5099580.931100] [<ffffffff81096c40>] ? kthread_park+0x60/0x60
[5099580.931101] ---[ end trace 771ebb14ef31d548 ]---
[5099580.931102] BTRFS: error (device md1) in
__btrfs_free_extent:6362: errno=-28 No space left
[5099580.931126] BTRFS info (device md1): forced readonly
[5099580.931127] BTRFS: error (device md1) in
btrfs_run_delayed_refs:2858: errno=-28 No space left
[5099580.935938] BTRFS: error (device md1) in
__btrfs_free_extent:6362: errno=-28 No space left
[5099580.935939] BTRFS: error (device md1) in
__btrfs_free_extent:6362: errno=-28 No space left
[5099580.935941] BTRFS: error (device md1) in
btrfs_run_delayed_refs:2858: errno=-28 No space left
[5099580.936037] BTRFS: error (device md1) in
btrfs_run_delayed_refs:2858: errno=-28 No space left
[5099581.122804] BTRFS: error (device md1) in
__btrfs_free_extent:6362: errno=-28 No space left
[5099581.122830] BTRFS: error (device md1) in
btrfs_run_delayed_refs:2858: errno=-28 No space left
Thanks!
--
משיח NOW!
Moshiach is coming very soon, prepare yourself!
יחי אדוננו מורינו ורבינו מלך המשיח לעולם ועד!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: BTRFS: Transaction aborted (error -28)
2016-07-29 13:37 BTRFS: Transaction aborted (error -28) Mordechay Kaganer
@ 2016-07-29 17:23 ` Duncan
2016-07-31 10:23 ` Mordechay Kaganer
0 siblings, 1 reply; 4+ messages in thread
From: Duncan @ 2016-07-29 17:23 UTC (permalink / raw)
To: linux-btrfs
Mordechay Kaganer posted on Fri, 29 Jul 2016 16:37:05 +0300 as excerpted:
> While saving a backup (using rsync) the FS went read only and i've got
> BTRFS: Transaction aborted (error -28) error. While writing a new backup
> i was also doing btrfs send of another subvolume on the same FS from
> this server out to another server.
>
> After reboot, the device mounts OK. Does it mean something went wrong
> with the FS? Need to run a full balance?
Because btrfs is designed to be copy-on-write, with atomic transactions,
an aborted transaction /should/ leave you with a consistent filesystem,
simply lacking whatever changes would have occurred in that transaction.
Of course the fact that the transaction aborted /does/ indicate some sort
of problem, which may in fact have left the filesystem in an unknown
state. However, I'd recommend a couple other checks, not balance, to be
sure you're good. First, a btrfs scrub of the filesystem, just to be
sure the checksums all come out fine (or are fixable and fixed if not).
Second, a btrfs check, which will be read-only unless you add --repair or
similar option.
If those both come out fine it was probably simply stress from the rsync
and the send at the same time. Rsync in particular is known to be
intensive enough to be a reasonable real-world stress test for btrfs, and
has in fact flushed out a number of bugs over the years that people
didn't see in otherwise normal usage. Combining it with send of course
amplifies the stress on the filesystem, such that if bugs are going to
show up, and btrfs isn't yet fully stable and mature so that's expected,
combining rsync with pretty much anything else intensive as well is
likely to flush them out.
> btrfs-tools version: btrfs-progs v4.3.1
>
> The kernel is based on Ubuntu mainline PPA 4.3.3
> (http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.3.3-wily/) with a
> patch to fix RAID10 issue.
FWIW, kernel 4.3 is no longer really recommended or supported well on
this list. The list recommendation is the last two kernels series in
either the LTS or current channels. The last two upstream LTS series are
4.4 and 4.1. The latest current kernel is of course 4.7, so 4.7 and 4.6
would be supported there.
Of course distros can and do choose other kernel series to support, and
you may choose to go with them and their support instead, but if so, you
really should be getting support from them, because they are tracking
what patches they've backported, while this list is generally focused on
mainline and won't know what distros have backported, and because the
focus is on moving forward, we only generally support the two current
kernel series, plus the two current LTS series for those who don't want
to be upgrading to a new kernel series every couple months.
During normal operation, userspace (btrfs-progs) is less important as
most commands simply call the kernel code to do the real work. However,
once something goes wrong and you're trying to recover, it's mostly
userspace code, and the newer versions are better positioned to fix more
problems, so they're recommended then. Plus, as the commands and their
output are still changing from time to time, get too old and the commands
and output are different enough it's hard to compare. So a good rule of
thumb is to at least match your kernel x.y version, tho newer is fine.
That way, provided you're following the kernel recommendations, you're
assured of a reasonably current btrfs userland as well.
So I'd recommend upgrading to the latest kernel 4.4 if you want to stay
with the stable series, or 4.6 or 4.7 if you want current, and then (less
important) upgrading the btrfs userspace as well. It's possible the
newer kernel will handle the combined rsync and send stresses better, and
if not, you're on a better base to provide bug reports, etc.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: BTRFS: Transaction aborted (error -28)
2016-07-29 17:23 ` Duncan
@ 2016-07-31 10:23 ` Mordechay Kaganer
2016-08-04 23:05 ` Mordechay Kaganer
0 siblings, 1 reply; 4+ messages in thread
From: Mordechay Kaganer @ 2016-07-31 10:23 UTC (permalink / raw)
To: Btrfs BTRFS
B.H.
Thanks for the detailed answer!
On Fri, Jul 29, 2016 at 8:23 PM, Duncan <1i5t5.duncan@cox.net> wrote:
> ...
> Of course the fact that the transaction aborted /does/ indicate some sort
> of problem, which may in fact have left the filesystem in an unknown
> state. However, I'd recommend a couple other checks, not balance, to be
> sure you're good. First, a btrfs scrub of the filesystem, just to be
> sure the checksums all come out fine (or are fixable and fixed if not).
> Second, a btrfs check, which will be read-only unless you add --repair or
> similar option.
OK, scrub finished with 0 errors so I assume the FS is probably in a good shape
Regarding 'btrfs check' - my FS is huge and with a lot of metadata so
btrfs check seems to consume a lot of RAM. I've added all of my system
disk's free space as a swap but the check was killed due to OOM after
consuming about 100GB of memory.
> ...
> So I'd recommend upgrading to the latest kernel 4.4 if you want to stay
> with the stable series, or 4.6 or 4.7 if you want current, and then (less
> important) upgrading the btrfs userspace as well. It's possible the
> newer kernel will handle the combined rsync and send stresses better, and
> if not, you're on a better base to provide bug reports, etc.
OK, upgraded to 4.4 (Ubuntu 16.04 stock kernel) and the fresh
btrfs-progs 4.7. I'm assuming the error was due to some kind of bug or
race condition and the FS is clean. Let's see how it behaves. Thanks!
--
משיח NOW!
Moshiach is coming very soon, prepare yourself!
יחי אדוננו מורינו ורבינו מלך המשיח לעולם ועד!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: BTRFS: Transaction aborted (error -28)
2016-07-31 10:23 ` Mordechay Kaganer
@ 2016-08-04 23:05 ` Mordechay Kaganer
0 siblings, 0 replies; 4+ messages in thread
From: Mordechay Kaganer @ 2016-08-04 23:05 UTC (permalink / raw)
To: Btrfs BTRFS
B.H.
> On Fri, Jul 29, 2016 at 8:23 PM, Duncan <1i5t5.duncan@cox.net> wrote:
>> So I'd recommend upgrading to the latest kernel 4.4 if you want to stay
>> with the stable series, or 4.6 or 4.7 if you want current, and then (less
>> important) upgrading the btrfs userspace as well. It's possible the
>> newer kernel will handle the combined rsync and send stresses better, and
>> if not, you're on a better base to provide bug reports, etc.
>
> OK, upgraded to 4.4 (Ubuntu 16.04 stock kernel) and the fresh
> btrfs-progs 4.7. I'm assuming the error was due to some kind of bug or
> race condition and the FS is clean. Let's see how it behaves. Thanks!
Hello, i'm still getting ENOSPC errors. The latest time the log looks like this:
Aug 4 21:55:06 yemot-4u kernel: [304090.288927] ------------[ cut
here ]------------
Aug 4 21:55:06 yemot-4u kernel: [304090.288961] WARNING: CPU: 1 PID:
4531 at /build/linux-dcxD3m/linux-4.4.0/fs/btrfs/extent-tree.c:2927
btrfs_run_delayed_refs+0x26b/0
x2a0 [btrfs]()
Aug 4 21:55:06 yemot-4u kernel: [304090.288965] BTRFS: error (device
md1) in btrfs_run_delayed_refs:2927: errno=-28 No space left
Aug 4 21:55:06 yemot-4u kernel: [304090.288968] BTRFS info (device
md1): forced readonly
Aug 4 21:55:06 yemot-4u kernel: [304090.288972] BTRFS: error (device
md1) in btrfs_run_delayed_refs:2927: errno=-28 No space left
Aug 4 21:55:06 yemot-4u kernel: [304090.289129] BTRFS: Transaction
aborted (error -28)
Aug 4 21:55:06 yemot-4u kernel: [304090.289131] Modules linked in:
binfmt_misc ipmi_ssif btrfs x86_pkg_temp_thermal intel_powerclamp
coretemp kvm_intel kvm irqbypass c
rct10dif_pclmul crc32_pclmul aesni_intel aes_x86_64 lrw gf128mul
glue_helper ablk_helper cryptd input_leds sb_edac serio_raw joydev
edac_core lpc_ich snd_hda_codec_real
tek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hda_core
snd_hwdep snd_pcm mei_me snd_timer mei snd soundcore shpchp ipmi_si
8250_fintek ipmi_msghandler mac_h
id nfsd auth_rpcgss nfs_acl lockd grace sunrpc lp parport autofs4
raid0 multipath linear raid456 async_raid6_recov async_memcpy async_pq
async_xor async_tx xor raid6_pq
libcrc32c raid10 raid1 ses enclosure igb dca ast ttm drm_kms_helper
syscopyarea hid_generic sysfillrect firewire_ohci sysimgblt
fb_sys_fops ahci usbhid firewire_core p
tp psmouse libahci isci hid drm crc_itu_t libsas pps_core i2c_algo_bit
aacraid scsi_transport_sas wmi fjes
Aug 4 21:55:06 yemot-4u kernel: [304090.289201] CPU: 1 PID: 4531
Comm: kworker/u16:28 Not tainted 4.4.0-31-generic #50-Ubuntu
Aug 4 21:55:06 yemot-4u kernel: [304090.289203] Hardware name: To Be
Filled By O.E.M. To Be Filled By O.E.M./EPC602D8A, BIOS P1.20
04/16/2014
Aug 4 21:55:06 yemot-4u kernel: [304090.289226] Workqueue:
btrfs-extent-refs btrfs_extent_refs_helper [btrfs]
Aug 4 21:55:06 yemot-4u kernel: [304090.289229] 0000000000000286
00000000b56c494e ffff880744f4bc98 ffffffff813f1143
Aug 4 21:55:06 yemot-4u kernel: [304090.289232] ffff880744f4bce0
ffffffffc06d8468 ffff880744f4bcd0 ffffffff81081102
Aug 4 21:55:06 yemot-4u kernel: [304090.289234] ffff8807fbff3000
ffff880859b13000 ffff880729f30b90 0000000000000000
Aug 4 21:55:06 yemot-4u kernel: [304090.289237] Call Trace:
Aug 4 21:55:06 yemot-4u kernel: [304090.289244] [<ffffffff813f1143>]
dump_stack+0x63/0x90
Aug 4 21:55:06 yemot-4u kernel: [304090.289249] [<ffffffff81081102>]
warn_slowpath_common+0x82/0xc0
Aug 4 21:55:06 yemot-4u kernel: [304090.289252] [<ffffffff8108119c>]
warn_slowpath_fmt+0x5c/0x80
Aug 4 21:55:06 yemot-4u kernel: [304090.289268] [<ffffffffc063fbeb>]
btrfs_run_delayed_refs+0x26b/0x2a0 [btrfs]
Aug 4 21:55:06 yemot-4u kernel: [304090.289284] [<ffffffffc063fc57>]
delayed_ref_async_start+0x37/0x90 [btrfs]
Aug 4 21:55:06 yemot-4u kernel: [304090.289303] [<ffffffffc0686eaa>]
btrfs_scrubparity_helper+0xca/0x2f0 [btrfs]
Aug 4 21:55:06 yemot-4u kernel: [304090.289307] [<ffffffff814f1906>]
? tty_ldisc_deref+0x16/0x20
Aug 4 21:55:06 yemot-4u kernel: [304090.289326] [<ffffffffc068710e>]
btrfs_extent_refs_helper+0xe/0x10 [btrfs]
Aug 4 21:55:06 yemot-4u kernel: [304090.289330] [<ffffffff8109a2c5>]
process_one_work+0x165/0x480
Aug 4 21:55:06 yemot-4u kernel: [304090.289333] [<ffffffff8109a62b>]
worker_thread+0x4b/0x4c0
Aug 4 21:55:06 yemot-4u kernel: [304090.289336] [<ffffffff8109a5e0>]
? process_one_work+0x480/0x480
Aug 4 21:55:06 yemot-4u kernel: [304090.289339] [<ffffffff810a0808>]
kthread+0xd8/0xf0
Aug 4 21:55:06 yemot-4u kernel: [304090.289341] [<ffffffff810a0730>]
? kthread_create_on_node+0x1e0/0x1e0
Aug 4 21:55:06 yemot-4u kernel: [304090.289345] [<ffffffff8182decf>]
ret_from_fork+0x3f/0x70
Aug 4 21:55:06 yemot-4u kernel: [304090.289348] [<ffffffff810a0730>]
? kthread_create_on_node+0x1e0/0x1e0
Aug 4 21:55:06 yemot-4u kernel: [304090.289350] ---[ end trace
90c37e7522254f86 ]---
Aug 4 21:55:06 yemot-4u kernel: [304090.289353] BTRFS: error (device
md1) in btrfs_run_delayed_refs:2927: errno=-28 No space left
Aug 4 21:55:06 yemot-4u kernel: [304090.328312] BTRFS: error (device
md1) in __btrfs_free_extent:6552: errno=-28 No space left
Aug 4 21:55:06 yemot-4u kernel: [304090.328344] BTRFS: error (device
md1) in btrfs_run_delayed_refs:2927: errno=-28 No space left
root@yemot-4u:~# uname -a
Linux yemot-4u 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC
2016 x86_64 x86_64 x86_64 GNU/Linux
root@yemot-4u:~# btrfs --version
btrfs-progs v4.7
--
משיח NOW!
Moshiach is coming very soon, prepare yourself!
יחי אדוננו מורינו ורבינו מלך המשיח לעולם ועד!
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-08-04 23:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-29 13:37 BTRFS: Transaction aborted (error -28) Mordechay Kaganer
2016-07-29 17:23 ` Duncan
2016-07-31 10:23 ` Mordechay Kaganer
2016-08-04 23:05 ` Mordechay Kaganer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).