Re: [sparc64] pktcdvd: setup of pktcdvd device failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Sep 20, 2019 at 4:01 PM Jens Axboe <axboe@xxxxxxxxx> wrote:
>
> On 9/20/19 4:27 AM, Anatoly Pugachev wrote:
> > Hello!
> >
> > Getting the following call trace on boot on sparc64 ldom/machine with
> > current git kernel:
> >
> > ...
> > [   13.352975] aes_sparc64: Using sparc64 aes opcodes optimized AES
> > implementation
> > [   13.428002] ------------[ cut here ]------------
> > [   13.428081] WARNING: CPU: 21 PID: 586 at
> > drivers/block/pktcdvd.c:2597 pkt_setup_dev+0x2e4/0x5a0 [pktcdvd]
> > [   13.428147] Attempt to register a non-SCSI queue
> > [   13.428184] Modules linked in: pktcdvd libdes cdrom aes_sparc64
> > n2_rng md5_sparc64 sha512_sparc64 rng_core sha256_sparc64 flash
> > sha1_sparc64 ip_tables x_tables ipv6 crc_ccitt nf_defrag_ipv6 autofs4
> > ext4 crc16 mbcache jbd2 raid10 raid456 async_raid6_recov async_memcpy
> > async_pq async_xor xor async_tx raid6_pq raid1 raid0 multipath linear
> > md_mod crc32c_sparc64
> > [   13.428452] CPU: 21 PID: 586 Comm: pktsetup Not tainted
> > 5.3.0-10169-g574cc4539762 #1234
> > [   13.428507] Call Trace:
> > [   13.428542]  [00000000004635c0] __warn+0xc0/0x100
> > [   13.428582]  [0000000000463634] warn_slowpath_fmt+0x34/0x60
> > [   13.428626]  [000000001045b244] pkt_setup_dev+0x2e4/0x5a0 [pktcdvd]
> > [   13.428674]  [000000001045ccf4] pkt_ctl_ioctl+0x94/0x220 [pktcdvd]
> > [   13.428724]  [00000000006b95c8] do_vfs_ioctl+0x628/0x6e0
> > [   13.428764]  [00000000006b96c8] ksys_ioctl+0x48/0x80
> > [   13.428803]  [00000000006b9714] sys_ioctl+0x14/0x40
> > [   13.428847]  [0000000000406294] linux_sparc_syscall+0x34/0x44
> > [   13.428890] irq event stamp: 4181
> > [   13.428924] hardirqs last  enabled at (4189): [<00000000004e0a74>]
> > console_unlock+0x634/0x6c0
> > [   13.428984] hardirqs last disabled at (4196): [<00000000004e0540>]
> > console_unlock+0x100/0x6c0
> > [   13.429048] softirqs last  enabled at (3978): [<0000000000b2e2d8>]
> > __do_softirq+0x498/0x520
> > [   13.429110] softirqs last disabled at (3967): [<000000000042cfb4>]
> > do_softirq_own_stack+0x34/0x60
> > [   13.429172] ---[ end trace 2220ca468f32967d ]---
> > [   13.430018] pktcdvd: setup of pktcdvd device failed
> > [   13.455589] des_sparc64: Using sparc64 des opcodes optimized DES
> > implementation
> > [   13.515334] camellia_sparc64: Using sparc64 camellia opcodes
> > optimized CAMELLIA implementation
> > [   13.522856] pktcdvd: setup of pktcdvd device failed
> > [   13.529327] pktcdvd: setup of pktcdvd device failed
> > [   13.532932] pktcdvd: setup of pktcdvd device failed
> > [   13.536165] pktcdvd: setup of pktcdvd device failed
> > [   13.539372] pktcdvd: setup of pktcdvd device failed
> > [   13.542834] pktcdvd: setup of pktcdvd device failed
> > [   13.546536] pktcdvd: setup of pktcdvd device failed
> > [   15.431071] XFS (dm-0): Mounting V5 Filesystem
>
> Someone is running pktsetup to set up a device, at boot time. The device
> being passed in doesn't support pass-through commands.
>
> I believe there are two questions here:
>
> 1) Why is pktsetup being called? I don't expect anyone to use pktcdvd
>    anymore.
>
> 2) Given #1, what kind of device is being passed in?
>
> Do  you have some ancient funky init scripts?

Jens,

this is debian unstable (sid) sparc64 LDOM (read sparc virtual
machine) installation, nothing funky is done,
except of install of udftools (contains /usr/sbin/pktsetup) and was
installed for udf_test/mkudffs test/check for grub.git).

udftools package installs /lib/udev/rules.d/80-pktsetup.rules with a content:

# cat /lib/udev/rules.d/80-pktsetup.rules
# Create and remove packet writing device for each optical block device
ACTION=="add", SUBSYSTEM=="block", ENV{ID_CDROM}=="1",
RUN+="/usr/sbin/pktsetup %E{MAJOR}:%E{MINOR}"
ACTION=="remove", SUBSYSTEM=="block", ENV{ID_CDROM}=="1",
RUN+="/usr/sbin/pktsetup -d %E{MAJOR}:%E{MINOR}"

as well (unpacked) initrd has some udev hooks:

unpacked_initrd# find . -type f | xargs egrep "pkt(setup|cdvd)"
./usr/lib/udev/rules.d/50-udev-default.rules:KERNEL=="pktcdvd[0-9]*",
GROUP="cdrom"
./usr/lib/udev/rules.d/50-udev-default.rules:KERNEL=="pktcdvd", GROUP="cdrom"
./usr/lib/modules/5.3.0-10169-g574cc4539762/modules.order:kernel/drivers/block/pktcdvd.ko

I believe (which counts as number of message "setup of pktcdvd device
failed" appears in dmesg) pktsetup tries to setup /dev/vdiskd*
devices, which is virtual cdrom attached with iso file:

# lsblk -if -o NAME,FSTYPE,LABEL,RM
NAME           FSTYPE      LABEL                RM
vdiska         ext3                              0
|-vdiska1      ext3                              0
|-vdiska2      ext4                              0
|-vdiska3                                        0
`-vdiska4      swap        swapvol1              0
vdiskb                                           0
`-vdiskb1      xfs                               0
vdiskc         LVM2_member                       0
`-ttipvg1-vol1 xfs                               0
vdiskd         iso9660     Debian 9.0 sparc64 n  1
|-vdiskd1      iso9660     Debian 9.0 sparc64 n  1
|-vdiskd2      iso9660     Debian 9.0 sparc64 n  1
|-vdiskd3      iso9660     Debian 9.0 sparc64 n  1
|-vdiskd4      iso9660     Debian 9.0 sparc64 n  1
|-vdiskd5      iso9660     Debian 9.0 sparc64 n  1
|-vdiskd6      iso9660     Debian 9.0 sparc64 n  1
`-vdiskd7      iso9660     Debian 9.0 sparc64 n  1
vdiske                                           0
|-vdiske1      ext3                              0
|-vdiske2                                        0
`-vdiske3                                        0


PS: since it's debian unstable system, it has pretty fresh userspace
and my recently compiled git kernel (as well current debian unstable
kernel is 5.2.x already)



[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux