Skip to content

A flush for a RO guest with one active downstairs should not error #1963

Description

@leftwo

A RO volume can activate with just a single downstairs present.
If a guest sends a flush to a RO volume that has a single downstairs it currently fails.

This code in upstairs.rs is the issue:

                let n = self.downstairs.active_client_count();
                let required = if snapshot_details.is_some() { 3 } else { 2 };
                if n < required {
                    done.send_err(CrucibleError::IoError(format!(
                        "too many inactive clients: need {required}, got {n}"
                    )));
                    return; 
                } 

For a RO volume, only one downstairs is a valid config.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions