From: Raman Shishniou <rommer@ibuffed.com>
To: dm-devel@redhat.com
Subject: dm-era crash
Date: Wed, 4 Nov 2015 19:34:12 +0300 [thread overview]
Message-ID: <563A3384.9070900@ibuffed.com> (raw)
Hello,
I tried to set up new era device and found the following issue:
kernel panics if I don't write anything to the era device after
initial creation.
# lvs -o lv_name,vg_name,attr,size
LV VG Attr LSize
data vg -wi-a----- 64.00g
meta vg -wi-a----- 64.00m
# blockdev --getsize /dev/vg/data
134217728
# dd if=/dev/zero of=/dev/vg/meta bs=1M count=64 oflag=direct
64+0 records in
64+0 records out
67108864 bytes (67 MB) copied, 0.0468122 s, 1.4 GB/s
# dmsetup create era --table '0 134217728 era /dev/vg/meta /dev/vg/data 128'
# dmsetup remove era
# dmsetup create era --table '0 134217728 era /dev/vg/meta /dev/vg/data 128'
<< crash >>
after rebooting:
# era_check /dev/vg/meta
examining superblock
missing eras from writeset tree
value size mismatch: expected 12, but got 8. This is not the btree you are looking for.
era_check: /usr/include/boost/optional/optional.hpp:630: boost::optional<T>::reference_const_type boost::optional<T>::get() const [with T = unsigned int; boost::optional<T>::reference_const_type = const unsigned int&]: Assertion `this->is_initialized()' failed.
Aborted (core dumped)
After manual investigating superblock (using struct from
drivers/md/dm-era-target.c), I found that the roots of
the current_writeset and writeset_tree points to the
same block number:
checksum: 0xA06B0358
flags: 0x00000000
blocknr: 0
uuid: 00000000000000000000000000000000
magic: 2126579579
version: 1
data block size: 128 sectors
metadata block size: 8 sectors
total data blocks: 262144
current era: 2
current writeset/total bits: 262144
current writeset/root: 1
writeset tree root: 1
era array root: 9
metadata snapshot: 0
Simple workaround is to write something to /dev/mapper/era after initial creation.
reply other threads:[~2015-11-04 16:34 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=563A3384.9070900@ibuffed.com \
--to=rommer@ibuffed.com \
--cc=dm-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox