On Thu, Jun 12, 2025 at 08:17:49AM +0000, Yoav Cohen wrote: > Hi Ming, > > Thank you very much, I managed to integrate the feature to our application and it seems to work perfectly fine during our update tests. > Just a double check: when UBLK_F_USER_RECOVERY & UBLK_F_USER_RECOVERY_REISSUE > and QUIECE_DEV was called - does any IO that will be completed using COMMIT_AND_FETCH with a failure (i.e result=-EIO) will be retry after the recovery stage? > UBLK_F_USER_RECOVERY_REISSUE supposes all inflight IOs are failed, so these IOs will be re-delivered to ublk server after recovering to LIVE. So you needn't to complete the IOs with -EIO for retrying them during recovery, in short: - if ublk server handles inflight IOs, complete them by sending COMMIT_AND_FETCH with result before closing '/dev/ublkcN', and these IOs will not be re-issued by driver after recovery - otherwise, just ignore & discard inflight IOs, they all will be re-issued by driver after recovery via UBLK_F_USER_RECOVERY_REISSUE. Thanks, Ming