[ 5733.186033] sd 4:0:0:0: [sdb] Unhandled sense code[ 5733.186038] sd 4:0:0:0: [sdb] Result: hostbyte=invalID driverbyte=DRIVER_SENSE[ 5733.186042] sd 4:0:0:0: [sdb] Sense Key : Medium Error [current] [ 5733.186048] sd 4:0:0:0: [sdb] Add. Sense: Unrecovered read error[ 5733.186053] sd 4:0:0:0: [sdb] CDB: Read(10): 28 00 05 b7 2e 40 00 00 08 00[ 5733.186064] end_request: critical target error,dev sdb,sector 95891008
这些消息是散装的,这是其中一种. sdb是源驱动器.
如何找出该扇区属于哪个文件/ inode?我只是想知道,所以我可以从备份中恢复有问题的文件.比以下代码更快的速度加上后续的输出分析?
find . -type f -print \ -exec cp \{\} /dev/null \; \ -exec tail -n 1 /var/log/kern.log \;
*** 作系统:Ubuntu Oneiric.
编辑:上面的命令还向stderr输出无法读取的文件.
解决方法 粗略的想法是>做一些计算,根据物理扇区号找出filesytem的块号
>使用deBUGfs testb / ncheck / icheck命令查明块是否正在使用以及正在使用它的文件的名称
有一个bad block HOWTO over at the smartmontools project site更详细地描述了该过程.
总结以上是内存溢出为你收集整理的linux – 如何确定哪个文件/ inode占用给定扇区全部内容,希望文章能够帮你解决linux – 如何确定哪个文件/ inode占用给定扇区所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)