问题:
在repo sync
更新代码的时候,发现更新错了,ctrl+c
强制退出,后面要将整个工程目录XXX/
删掉,报了如下的错误:
1 | rm: 无法删除 "/work2/XXX/.repo/projects/vendor/imx/genivi.git/refs/tags/xxx_v1/master/usb_test" : 输入/输出错误 |
dmesg
查看到内核有如下提示:
1 | EXT4-fs error (device sdb1): ext4_lookup:1584: inode #23997360: comm rm: deleted inode referenced: 23998390 |
看着情况,有可能是文件系统出问题了,本文主要讲述如何解决这个问题。
解决办法
参照 https://unix.stackexchange.com/questions/191370/ext4-lookup-deleted-inode-referenced-error-in-var-log-messages?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
怀疑是文件系统出了问题,采用e2fsck
进行修复。先将/dev/sdb1
umount
掉,然后执行#sudo e2fsck -y /dev/sdb1
命令进行修复,输出如下内容:
1 | victor@victor:~$ sudo e2fsck -y /dev/sdb1 |
之后重启系统,即可正常删除该文件。