[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Devdax backend for vnvdimm not working
From: |
Kamal Kakri |
Subject: |
Re: [Qemu-devel] Devdax backend for vnvdimm not working |
Date: |
Tue, 15 Jan 2019 22:51:09 +0000 (UTC) |
My devdax device is 2MB aligned so I dont think this is alignment related.#
ndctl list -X -n namespace0.0
[
{
"dev":"namespace0.0",
"mode":"devdax",
"map":"dev",
"size":16909336576,
"uuid":"e5265c0a-d902-41ce-b1d1-87a78c358aa4",
"daxregion":{
"id":0,
"size":16909336576,
"align":2097152, ------------------------->
"devices":[
{
"chardev":"dax0.0",
"size":16909336576
}
]
}
}
]
I even tried to create vnvdimm of exact same size as my devdax namespace,
thinking that it would not need to ftruncate in that case but I still get the
same error:
# virsh start fox22vm
start: domain(optdata): fox22vm
start: found option <domain>: fox22vm
start: <domain> trying as domain NAME
error: Failed to start domain fox22vm
error: internal error: qemu unexpectedly closed the monitor: ftruncate: Invalid
argument
2019-01-15T21:58:52.647221Z qemu-kvm: -object
memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/dev/dax0.0,share=yes,size=16909336576:
unable to map backing store for guest RAM: Invalid argument
Has anyone ever got devdax backed vnvdimm configured and working?
If yes then pls let me know what libvirt/qemu/kernel version you have used to
get it working.
Thanks.
On Tuesday, January 15, 2019, 3:13:27 PM EST, Kamal Kakri <address@hidden>
wrote:
Hi,
I have a namespace (backed by real nvdimm h/w) configured in devdax mode:
# ndctl list -N -n namespace0.0
[
{
"dev":"namespace0.0",
"mode":"devdax",
"map":"dev",
"size":16909336576,
"uuid":"e5265c0a-d902-41ce-b1d1-87a78c358aa4",
"chardev":"dax0.0"
}
]
When I try to configure my vm using "virsh" with something like this:
<memory model='nvdimm' access='shared'>
<source>
<path>/dev/dax0.0</path>
<align unit='KiB'>2048</align>
<pmem/>
</source>
<target>
<size unit='KiB'>2097152</size>
<node>0</node>
</target>
<alias name='nvdimm0'/>
<address type='dimm' slot='0'/>
</memory>
I get an error while starting my vm:
# virsh start fox22vm
start: domain(optdata): fox22vm
start: found option <domain>: fox22vm
start: <domain> trying as domain NAME
error: Failed to start domain fox22vm
error: internal error: qemu unexpectedly closed the monitor: ftruncate: Invalid
argument
2019-01-15T18:00:36.587467Z qemu-kvm: -object
memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/dev/dax0.0,share=yes,size=2147483648:
unable to map backing store for guest RAM: Invalid argument
I have tried to add "align unit" to my virsh xml but it does not seem to pass
it onto qemu (as much as I can see from the qemu cmd line in the logs at
/var/log/libvirt/qemu)
Can anyone pls hint as to what possibly could be the issue ? Is this alignment
related or something else ?
Here are my versions:
# virsh --version
4.5.0
address@hidden libexec]# /usr/libexec/qemu-kvm --version
QEMU emulator version 2.12.0 (qemu-kvm-rhev-2.12.0-18.el7_6.1)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
# uname -a
Linux fox22hv 4.19.0-1.el7.elrepo.x86_64 #1 SMP Mon Oct 22 10:40:32 EDT 2018
x86_64 x86_64 x86_64 GNU/Linux