diff --git a/pkg/device/sync.go b/pkg/device/sync.go index 576bbb3c6..ea2cf352c 100644 --- a/pkg/device/sync.go +++ b/pkg/device/sync.go @@ -130,7 +130,7 @@ func Sync(ctx context.Context, nodeID directpvtypes.NodeID) error { // verify mount switch drive.Status.Status { - case directpvtypes.DriveStatusReady, directpvtypes.DriveStatusError, directpvtypes.DriveStatusMoving: + case directpvtypes.DriveStatusReady, directpvtypes.DriveStatusLost, directpvtypes.DriveStatusError, directpvtypes.DriveStatusMoving: source := utils.AddDevPrefix(string(drive.GetDriveName())) target := types.GetDriveMountDir(drive.Status.FSUUID) if err = xfs.Mount(source, target); err != nil { @@ -148,6 +148,11 @@ func Sync(ctx context.Context, nodeID directpvtypes.NodeID) error { "Drive mounted successfully to %s", target, ) + if drive.Status.Status == directpvtypes.DriveStatusLost { + updated = true + drive.Status.Status = directpvtypes.DriveStatusReady + } + latestErrorConditionType := drive.GetLatestErrorConditionType() if drive.Status.Status == directpvtypes.DriveStatusError { switch latestErrorConditionType {