STATUS: PASSED BUILD: 1.5: a63229917a5708de2d161aba0d67168ce0da6365 ENVIRONMENT: Multiple environments STEPS TO REPRODUCE: 1. set IMAGE_FSTYPES = "btrfs" KERNEL_FEATURES_append = " cfg/fs/btrfs " DISTRO_FEATURES_append = " systemd" VIRTUAL-RUNTIME_init_manager = "systemd" in local.conf 2. build core-image-minimal image and boot up it EXPECTED OUTCOME: btrfs format image could be booted up without errors ACTUAL OUTCOME: The following message is encountered at boot time. ########################################################################### systemd-udevd[80]: starting version 204 [ OK ] Started udev Kernel Device Manager. ------------[ cut here ]------------ WARNING: at /home/zeeblex/poky/build/tmp/work/qemux86_64-poky-linux/linux-yocto/3.8.13+gitAUTOINC+f121c06ae8_f20047520a-r4.2/linux/fs/btrfs/super.c:256 __btrfs_abort_transaction+0xbc/0xd0() Hardware name: Bochs Modules linked in: Pid: 83, comm: flush-btrfs-1 Not tainted 3.8.13-yocto-standard #1 Call Trace: [<ffffffff8128270c>] ? __btrfs_abort_transaction+0xbc/0xd0 [<ffffffff81039750>] warn_slowpath_common+0x70/0xa0 [<ffffffff810397cc>] warn_slowpath_fmt+0x4c/0x50 [<ffffffff8128270c>] __btrfs_abort_transaction+0xbc/0xd0 [<ffffffff812b1a06>] cow_file_range_inline+0x196/0x1a0 [<ffffffff812b1d50>] __cow_file_range+0x340/0x4a0 [<ffffffff812aa089>] ? join_transaction.isra.10+0x339/0x370 [<ffffffff812ab545>] ? start_transaction+0x95/0x4b0 [<ffffffff812b2a4a>] cow_file_range+0x8a/0xd0 [<ffffffff812b2df9>] run_delalloc_range+0x369/0x3a0 [<ffffffff812c52e1>] ? find_lock_delalloc_range.constprop.45+0x1d1/0x1f0 [<ffffffff812c6c24>] __extent_writepage+0x2d4/0x7b0 [<ffffffff810ea7b5>] ? find_get_pages_tag+0x105/0x180 [<ffffffff810ea79a>] ? find_get_pages_tag+0xea/0x180 [<ffffffff812c73fa>] extent_write_cache_pages.isra.34.constprop.49+0x2fa/0x430 [<ffffffff812c781e>] extent_writepages+0x4e/0x70 [<ffffffff812aedf0>] ? can_nocow_odirect+0x2f0/0x2f0 [<ffffffff812adf98>] btrfs_writepages+0x28/0x30 [<ffffffff810f501e>] do_writepages+0x1e/0x40 [<ffffffff8115caab>] __writeback_single_inode+0x3b/0x1a0 [<ffffffff8115ea02>] writeback_sb_inodes+0x2c2/0x440 [<ffffffff8115ed4d>] wb_writeback+0xfd/0x380 [<ffffffff8115f6a0>] wb_do_writeback+0xd0/0x250 [<ffffffff810497db>] ? lock_timer_base.isra.38+0x2b/0x50 [<ffffffff81679ad8>] ? _raw_spin_unlock_irqrestore+0x18/0x40 [<ffffffff8115f8b3>] bdi_writeback_thread+0x93/0x2d0 [<ffffffff8115f820>] ? wb_do_writeback+0x250/0x250 [<ffffffff8105c1f0>] kthread+0xc0/0xd0 [<ffffffff8105c130>] ? kthread_create_on_node+0x120/0x120 [<ffffffff816810dc>] ret_from_fork+0x7c/0xb0 [<ffffffff8105c130>] ? kthread_create_on_node+0x120/0x120 ---[ end trace 17fdcf1a377fda87 ]--- BTRFS warning (device hda): cow_file_range_inline:262: Aborting unused transaction(Object already exists). BTRFS warning (device hda): __cow_file_range:881: Aborting unused transaction(Object already exists). btrfs: disk space caching is enabled [ OK ] Started Remount Root and Kernel File Systems. ###################################################################### This only happens with btrfs and systemd combination.
So I jokingly said I'd take this because it was the last but on the list and I haven't had a new bug assigned to me yet, but then it turns out I have a hunch. My hunch is that the system wasn't cleanly shutdown in the past, and btrfs needed to do a file system recovery. However, at least our hddimg's booting through init-live mount the rootfs read/write, so this can't happen. So, what systems and image formats can you replicate this on? Can you attach a full boot log?
FWIW, my hunch is that this could be fixed by http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=ross/live
Created attachment 1325 [details] Systemd + btrfs bootlog Added the entire boot log.
Thanks. Can you answer my other questions too?
For the moment, this was encountered on a Fedora 18 system with: - core-image-minimal - core-image-sato Will try on other systems and keep you updated. Thanks
Is this still reproducable?
I cannot reproduce it on latest master branch. Mark this bug as RESOLVED/WORKSFORME. If there's a way to reproduce it, we can reopen it. //Chen Qi