http://bugzilla.opensuse.org/show_bug.cgi?id=1139783 Bug ID: 1139783 Summary: LVM LV cannot be used as Bcache cache device (and possibly backing device) Classification: openSUSE Product: openSUSE Distribution Version: Leap 15.1 Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: AutoYaST Assignee: yast2-maintainers@suse.de Reporter: luizluca@tre-sc.jus.br QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Hello, I tried to use both <bcache_backing_for>/dev/bcache0</bcache_backing_for> and <bcache_caching_for config:type="list"> <listentry>/dev/bcache0</listentry> </bcache_caching_for> In a LVM LV and autoyast simply ignored it. It is probably there is no @bcache_caching_for=[] for a LVM LV object as it does not "include Planned::CanBeBcacheMember" in y2storage/planned/lvm_lv.rb After that, it seems that it does not deal nicely with missing cache: 2019-06-28 17:58:59 <3> testeinstall-ef(4962) [Ruby] yast/wfm.rb:253 Client /mounts/mp_0001/usr/share/YaST2/clients/inst_autosetup.rb failed with 'invalid null reference Expected argument 1 of type std::string const &, but got NilClass nil in SWIG method 'storage::BlkDevice::find_by_name'' (ArgumentError). Backtrace: /mounts/mp_0001/usr/share/YaST2/lib/y2storage/storage_class_wrapper.rb:256:in `find_by_name' /mounts/mp_0001/usr/share/YaST2/lib/y2storage/storage_class_wrapper.rb:256:in `public_send' /mounts/mp_0001/usr/share/YaST2/lib/y2storage/storage_class_wrapper.rb:256:in `forward' /mounts/mp_0001/usr/share/YaST2/lib/y2storage/storage_class_wrapper.rb:212:in `block in storage_class_forward' /mounts/mp_0001/usr/share/YaST2/lib/y2storage/proposal/bcache_creator.rb:176:in `find_blk_device' /mounts/mp_0001/usr/share/YaST2/lib/y2storage/proposal/bcache_creator.rb:86:in `create_bcache_device' However, from yast2 installation GUI, I can use LVM LV for bcache. It accepts nicely until it actually do partitioning. It tries to run: # /usr/sbin/bcache set-cachemode /dev/system-slow/home-back writethrough Error:Wrong device name found While this one works: # /usr/sbin/bcache set-cachemode $(readlink -f /dev/system-slow/home-back) writethrough It accepts /dev/dm-* but not /dev/system-slow/home-back. The same goes with "bcache attach" that does not follow symlinks. After installation finish, it works as expected. The only caveat (probably related) is that systemd waits until it times out for a resume= device (kernel cmdline resume=/dev/disk/by-id/ata-VBOX_HARDDISK_VB4e22b7b1-3df6870d-part3) while my disks have 2 partitions or less and swap is a LVM LV at /dev/system/swap. Fixing that at /etc/default/grub and updating grub.cfg fixes the problem. In summary: 1) yast2-installation should deal nicely with missing bcache members (and not throw a stacktrace on user) 2) yast2-autoyast should accept LVM LV as bcache member or GUI should not allow it 2.1) If LVM LV should not be used as bcache member, a nice warn message would be welcome 3) bcache (or whoever is calling it) should follow symlinks) 4) The one writing to /etc/default/grub:GRUB_CMDLINE_LINUX_DEFAULT should not use non-existing resume device -- You are receiving this mail because: You are on the CC list for the bug.