On Tue, May 8, 2018 at 4:58 AM, Dongsheng Yang <dongsheng.yang@xxxxxxxxxxxx> wrote: > Thanx Ilya, > IIUC, the problem is that block layer will translate the ENOSPC to EIO, > then it will cause filesystem corruption if the cluster get full -> not full > soon. > > But Christoph introduce a new block status code type, which will translate > the correct error number to users of block layer in 2017. > > please check this commit: > > https://github.com/torvalds/linux/commit/2a842acab109f40f0d7d10b38e9ca88390628996 IIRC the way it used to work is that an error code would always be propagated in the sense that bios would be completed with whatever error code set by the block driver (even something crazy like -EBFONT). Christoph's patch constrained that to a set of blk_status_t codes. The particular error code doesn't really matter. Whether it's -EIO or -ENOSPC, a filesystem nowadays will either remount itself read-only or shutdown. xfs used to retry indefinitely in certain cases, but that has changed and is now configurable via /sys/fs/xfs. Thanks, Ilya -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html