Bug 4844 - [Test Case 283]Boot warn on btrfs with systemd image
Summary: [Test Case 283]Boot warn on btrfs with systemd image
Status: RESOLVED WORKSFORME
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.5
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.6 M4
Assignee: Chen Qi
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2013-07-11 14:39 UTC by Alexandru Palalau
Modified: 2014-02-18 08:20 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
Systemd + btrfs bootlog (21.17 KB, text/x-log)
2013-07-12 08:42 UTC, Alexandru Palalau
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandru Palalau 2013-07-11 14:39:05 UTC
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.
Comment 1 Ross Burton 2013-07-11 14:59:10 UTC
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?
Comment 2 Ross Burton 2013-07-11 16:06:31 UTC
FWIW, my hunch is that this could be fixed by http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=ross/live
Comment 3 Alexandru Palalau 2013-07-12 08:42:06 UTC
Created attachment 1325 [details]
Systemd + btrfs bootlog

Added the entire boot log.
Comment 4 Ross Burton 2013-07-12 09:54:27 UTC
Thanks.  Can you answer my other questions too?
Comment 5 Alexandru Palalau 2013-07-12 09:58:16 UTC
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
Comment 6 Ross Burton 2013-11-08 16:53:27 UTC
Is this still reproducable?
Comment 7 Chen Qi 2014-02-18 08:20:42 UTC
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