硬盘检测只代表硬盘物理上没问题。但不代表数据写到硬盘上的整条链路没问题。
文件系统变只读,或者挂载不上,是因为文件系统的数据出了问题,和盘坏没坏一般没关系。
(举个例子,照片因为某些比特位发生了反转,照片打不开,是照片的数据坏了,你这时候检查硬盘坏没坏,不一定有用。同理,文件系统也是软件,它的信息有可能出错,所以检查盘不一定有用)。
回到最初的问题,报这个错,说明肯定有数据写到磁盘上整条IO链路上发生了一定的问题,此时,文件系统的数据有可能没写完整,已经包含这个数据错误的问题了。下次访问到这个地方的时候(比如读写大文件),btrfs就会报错,变只读(因为再继续运行,可能会导致越来越多的问题)。
所以,如果出现报错提醒比较频繁,还出现btrfs只读或者挂不上。这刚好说明有因果关系。
PS:排查更换完硬件后,文件系统也需要备份重建。不然还是会变只读。(就如刚刚的例子,照片已经坏了,再次读取,肯定还是坏的。)