* [Virtio-fs] [QUESTION] Can not enable dax option @ 2019-08-06 9:13 piaojun 2019-08-06 9:42 ` Dr. David Alan Gilbert 0 siblings, 1 reply; 3+ messages in thread From: piaojun @ 2019-08-06 9:13 UTC (permalink / raw) To: virtio-fs Hi, Dax could not be enabled by run the following command: QEMU command: qemu-system-x86_64 -M pc -cpu host --enable-kvm -smp 2 \ -m 4G,maxmem=4G -object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on -numa node,memdev=mem \ -drive if=none,id=root,format=qcow2,file=centos_7.3_64.qcow2 -device virtio-scsi -device scsi-disk,drive=root,bootindex=1 -object iothread,id=io \ -device virtio-scsi-pci,iothread=io -net nic,model=virtio -vnc 0.0.0.0:0 \ -chardev socket,id=char0,path=/tmp/vhostqemu -device vhost-user-fs-pci,queue-size=1024,chardev=char0,tag=myfs,cache-size=2G Guest command: # mount -t virtio_fs myfs /mnt/virtiofs -o rootmode=040000,user_id=0,group_id=0,dax When I rmmod/insmod again, the error message shows that something is wrong with 'cache capability': virtio_pci_find_shm_cap: shm cap with bad size offset: 164 size: 24 virtio_fs virtio2: virtio_fs_setup_dax: No cache capability Code url: https://github.com/rhvgoyal/linux/commits/virtio-fs-dev-5.1 https://gitlab.com/virtio-fs/qemu/tree/virtio-fs-dev Thanks, Jun ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Virtio-fs] [QUESTION] Can not enable dax option 2019-08-06 9:13 [Virtio-fs] [QUESTION] Can not enable dax option piaojun @ 2019-08-06 9:42 ` Dr. David Alan Gilbert 2019-08-06 11:26 ` piaojun 0 siblings, 1 reply; 3+ messages in thread From: Dr. David Alan Gilbert @ 2019-08-06 9:42 UTC (permalink / raw) To: piaojun; +Cc: virtio-fs * piaojun (piaojun@huawei.com) wrote: > Hi, > > Dax could not be enabled by run the following command: > > QEMU command: > qemu-system-x86_64 -M pc -cpu host --enable-kvm -smp 2 \ > -m 4G,maxmem=4G -object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on -numa node,memdev=mem \ > -drive if=none,id=root,format=qcow2,file=centos_7.3_64.qcow2 -device virtio-scsi -device scsi-disk,drive=root,bootindex=1 -object iothread,id=io \ > -device virtio-scsi-pci,iothread=io -net nic,model=virtio -vnc 0.0.0.0:0 \ > -chardev socket,id=char0,path=/tmp/vhostqemu -device vhost-user-fs-pci,queue-size=1024,chardev=char0,tag=myfs,cache-size=2G > > Guest command: > # mount -t virtio_fs myfs /mnt/virtiofs -o rootmode=040000,user_id=0,group_id=0,dax > > When I rmmod/insmod again, the error message shows that something is > wrong with 'cache capability': > > virtio_pci_find_shm_cap: shm cap with bad size offset: 164 size: 24 > virtio_fs virtio2: virtio_fs_setup_dax: No cache capability That's odd; because '24' seems the right size for a 'struct virtio_pci_cap64' and is what I get on my machine. Can you add: diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c index fcdabe85d82d..34e89474a8b7 100644 --- a/drivers/virtio/virtio_pci_modern.c +++ b/drivers/virtio/virtio_pci_modern.c @@ -473,6 +473,7 @@ static int virtio_pci_find_shm_cap(struct pci_dev *dev, __func__, pos, cap_len); continue; } + printk(KERN_INFO "%s: cap_len should be: %d\n", __func__, sizeof(struct virtio_pci_cap64)); pci_read_config_byte(dev, pos + offsetof(struct virtio_pci_cap, id), and tell us what it says? Just check that your kernel's include/uapi/linux/virtio_pci.h and daemon's include/standard-headers/linux/virtio_pci.h both match and show the same definition for virtio_pci_cap64 Dave > > Code url: > https://github.com/rhvgoyal/linux/commits/virtio-fs-dev-5.1 > https://gitlab.com/virtio-fs/qemu/tree/virtio-fs-dev > > Thanks, > Jun > > _______________________________________________ > Virtio-fs mailing list > Virtio-fs@redhat.com > https://www.redhat.com/mailman/listinfo/virtio-fs -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Virtio-fs] [QUESTION] Can not enable dax option 2019-08-06 9:42 ` Dr. David Alan Gilbert @ 2019-08-06 11:26 ` piaojun 0 siblings, 0 replies; 3+ messages in thread From: piaojun @ 2019-08-06 11:26 UTC (permalink / raw) To: Dr. David Alan Gilbert; +Cc: virtio-fs Hi Dave, On 2019/8/6 17:42, Dr. David Alan Gilbert wrote: > * piaojun (piaojun@huawei.com) wrote: >> Hi, >> >> Dax could not be enabled by run the following command: >> >> QEMU command: >> qemu-system-x86_64 -M pc -cpu host --enable-kvm -smp 2 \ >> -m 4G,maxmem=4G -object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on -numa node,memdev=mem \ >> -drive if=none,id=root,format=qcow2,file=centos_7.3_64.qcow2 -device virtio-scsi -device scsi-disk,drive=root,bootindex=1 -object iothread,id=io \ >> -device virtio-scsi-pci,iothread=io -net nic,model=virtio -vnc 0.0.0.0:0 \ >> -chardev socket,id=char0,path=/tmp/vhostqemu -device vhost-user-fs-pci,queue-size=1024,chardev=char0,tag=myfs,cache-size=2G >> >> Guest command: >> # mount -t virtio_fs myfs /mnt/virtiofs -o rootmode=040000,user_id=0,group_id=0,dax >> >> When I rmmod/insmod again, the error message shows that something is >> wrong with 'cache capability': >> >> virtio_pci_find_shm_cap: shm cap with bad size offset: 164 size: 24 >> virtio_fs virtio2: virtio_fs_setup_dax: No cache capability > > That's odd; because '24' seems the right size for a 'struct > virtio_pci_cap64' and is what I get on my machine. > > Can you add: > > diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c > index fcdabe85d82d..34e89474a8b7 100644 > --- a/drivers/virtio/virtio_pci_modern.c > +++ b/drivers/virtio/virtio_pci_modern.c > @@ -473,6 +473,7 @@ static int virtio_pci_find_shm_cap(struct pci_dev *dev, > __func__, pos, cap_len); > continue; > } > + printk(KERN_INFO "%s: cap_len should be: %d\n", __func__, sizeof(struct virtio_pci_cap64)); > > pci_read_config_byte(dev, pos + offsetof(struct virtio_pci_cap, > id), > > and tell us what it says? > > Just check that your kernel's include/uapi/linux/virtio_pci.h and > daemon's include/standard-headers/linux/virtio_pci.h both match > and show the same definition for virtio_pci_cap64 > > Dave Thanks for your help, and I solved this problem by reinstalling Guest kernel: # make modules_install -j 16 # make install -j 16 1. The virtio_pci.h has the same definition for virtio_pci_cap64 in both kernel and daemon; 2. As you said, the reason is probably that Guest kernel still used virtio_pci_cap which not matches virtio_pci_cap64. I guess the Guest still used the old virtio driver which cause the problem. Thanks, Jun > > >> >> Code url: >> https://github.com/rhvgoyal/linux/commits/virtio-fs-dev-5.1 >> https://gitlab.com/virtio-fs/qemu/tree/virtio-fs-dev >> >> Thanks, >> Jun >> >> _______________________________________________ >> Virtio-fs mailing list >> Virtio-fs@redhat.com >> https://www.redhat.com/mailman/listinfo/virtio-fs > -- > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK > . > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-08-06 11:26 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-08-06 9:13 [Virtio-fs] [QUESTION] Can not enable dax option piaojun 2019-08-06 9:42 ` Dr. David Alan Gilbert 2019-08-06 11:26 ` piaojun
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.