Skip to content

Commit

Permalink
sync: handle lost drive to be ready on successful mount (#868)
Browse files Browse the repository at this point in the history
Signed-off-by: Bala.FA <bala@minio.io>
  • Loading branch information
balamurugana committed Oct 10, 2023
1 parent c84444c commit b11a149
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion pkg/device/sync.go
Expand Up @@ -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 {
Expand All @@ -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 {
Expand Down

0 comments on commit b11a149

Please sign in to comment.