/** * Signature for callback function invoked when an asynchronous event request * command is completed. * * \param aer_cb_arg Context specified by spdk_nvme_register_aer_callback(). * \param cpl Completion queue entry that contains the completion status * of the asynchronous event request that was completed. */ typedefvoid(*spdk_nvme_aer_cb)(void *aer_cb_arg, conststruct spdk_nvme_cpl *cpl);
/** * Register callback function invoked when an AER command is completed for the * given NVMe controller. * * \param ctrlr Opaque handle to NVMe controller. * \param aer_cb_fn Callback function invoked when an asynchronous event request * command is completed. * \param aer_cb_arg Argument passed to callback function. */ voidspdk_nvme_ctrlr_register_aer_callback(struct spdk_nvme_ctrlr *ctrlr, spdk_nvme_aer_cb aer_cb_fn, void *aer_cb_arg);
if (spdk_nvme_cpl_is_error(cpl)) { NVME_CTRLR_NOTICELOG(ctrlr, "nvme_ctrlr_configure_aer failed!\n"); ctrlr->num_aers = 0; } else { /* aerl is a zero-based value, so we need to add 1 here. */ ctrlr->num_aers = spdk_min(NVME_MAX_ASYNC_EVENTS, (ctrlr->cdata.aerl + 1)); }
for (i = 0; i < ctrlr->num_aers; i++) { aer = &ctrlr->aer[i]; rc = nvme_ctrlr_construct_and_submit_aer(ctrlr, aer); if (rc) { NVME_CTRLR_ERRLOG(ctrlr, "nvme_ctrlr_construct_and_submit_aer failed!\n"); nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_ERROR, NVME_TIMEOUT_INFINITE); return; } } nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_SET_KEEP_ALIVE_TIMEOUT, ctrlr->opts.admin_timeout_ms); }
文件系统超级块损坏
在进行f2fs实验时,报以下错误
1 2 3 4 5 6 7 8
[89042.232345] EXT4-fs warning: 5 callbacks suppressed [89042.232347] EXT4-fs warning (device nvme0n1p2): ext4_dirblock_csum_verify:405: inode #2: comm git: No space for directory leaf checksum. Please run e2fsck -D. [89042.232350] EXT4-fs error: 5 callbacks suppressed [89042.232351] EXT4-fs error (device nvme0n1p2): __ext4_find_entry:1693: inode #2: comm git: checksumming directory block 0 [89042.232577] EXT4-fs warning (device nvme0n1p2): ext4_dirblock_csum_verify:405: inode #2: comm git: No space for directory leaf checksum. Please run e2fsck -D. [89042.232579] EXT4-fs error (device nvme0n1p2): __ext4_find_entry:1693: inode #2: comm git: checksumming directory block 0 [89042.232796] EXT4-fs warning (device nvme0n1p2): ext4_dirblock_csum_verify:405: inode #2: comm git: No space for directory leaf checksum. Please run e2fsck -D. [89042.232798] EXT4-fs error (device nvme0n1p2): __ext4_find_entry:1693: inode #2: comm git: checksumming directory block 0
文件系统被挂载为只读
1 2
/dev/nvme0n1p2 on / type ext4 (ro,relatime,errors=remount-ro) /dev/nvme0n1p2 on /var/snap/firefox/common/host-hunspell type ext4 (ro,noexec,noatime,errors=remount-ro)
当时没怎么管,直接重启电脑,因为我的f2fs实验并未涉及根目录盘,以为没太大关系
而后电脑一开机就进BIOS,无法进入Ubuntu,使用rufus用U盘刻录启动盘,在另一个盘上安装Ubuntu后,尝试修复该固态盘,使用fsck显示ext2fs_open2: Bad magic number in super-block,,dump2fs mke2fs使用备份超级块也是同样的问题,而后使用dd命令将一个盘的数据完全拷贝至另一个盘,询问ChatGPT是否有其余修复软件,找到了testdisk,询问相关步骤,答案如下:
# applications.md The SPDK application framework defines a set of base command line flags for all applications that use it. Specific applications may implement additional flags. -r --rpc-socket string /var/tmp/spdk.sock RPC listen address # rpc.py parser.add_argument('-s', dest='server_addr', help='RPC domain socket path or IP address', default='/var/tmp/spdk.sock')
docker service start failed docker正常安装成功,但是启动服务报错Failed to startDocker……Engine 文章使用了和我一样的方法,使用dockerd命令查看服务启动失败的原因,systemctl status docker.service的信息没有任何帮助,只不过我的问题是/etc/docker/daemon.json中报unknow option错误,删掉该选项即可
containerd.io - daemon to interface with the OS API (in this case, LXC - Linux Containers), essentially decouples Docker from the OS, also provides container services for non-Docker container managers docker-ce - Docker daemon, this is the part that does all the management work, requires the other two on Linux docker-ce-cli - CLI tools to control the daemon, you can install them on their own if you want to control a remote Docker daemon
cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
sudo zerotier-cli info时报错,zerotier-cli: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory 实际上有3个动态库版本对不上:libssl.so.1.1,libstdc++.so.6,libcrypto.so.1.1。这些版本都太高了,懒得一个一个更新
gcc-arm-linux-gnueabi – The GNU C compiler for armel architecture gcc-arm-linux-gnueabihf – The GNU C compiler for armhf architecture 可见这两个交叉编译器适用于armel和armhf两个不同的架构, armel和armhf这两种架构在对待浮点运算采取了不同的策略(有fpu的arm才能支持这两种浮点运算策略)
Ctrl+a跳到本行的行首 cat /proc/version Linux version 5.4.0-148-generic (buildd@lcy02-amd64-112) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023