* [pbs-devel] [PATCH proxmox-backup 1/2] zfs status: add test with spares
@ 2020-07-30 8:02 Dominik Csapak
2020-07-30 8:02 ` [pbs-devel] [PATCH proxmox-backup 2/2] fix #2904: zpool status: parse vdevs with state but without statistics Dominik Csapak
0 siblings, 1 reply; 3+ messages in thread
From: Dominik Csapak @ 2020-07-30 8:02 UTC (permalink / raw)
To: pbs-devel
this will fail for now, fixed in the next commit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
src/tools/disks/zpool_status.rs | 37 +++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/src/tools/disks/zpool_status.rs b/src/tools/disks/zpool_status.rs
index 3b0edc88..8971d905 100644
--- a/src/tools/disks/zpool_status.rs
+++ b/src/tools/disks/zpool_status.rs
@@ -465,3 +465,40 @@ errors: No known data errors
Ok(())
}
+
+#[test]
+fn test_zpool_status_parser_spares() -> Result<(), Error> {
+
+ let output = r###" pool: tank
+ state: ONLINE
+ scan: none requested
+config:
+
+ NAME STATE READ WRITE CKSUM
+ tank ONLINE 0 0 0
+ mirror-0 ONLINE 0 0 0
+ /dev/sda1 ONLINE 0 0 0
+ /dev/sda2 ONLINE 0 0 0
+ mirror-1 ONLINE 0 0 0
+ /dev/sda3 ONLINE 0 0 0
+ /dev/sda4 ONLINE 0 0 0
+ logs
+ /dev/sda5 ONLINE 0 0 0
+ spares
+ /dev/sdb AVAIL
+ /dev/sdc AVAIL
+
+errors: No known data errors
+"###;
+
+ let key_value_list = parse_zpool_status(&output)?;
+ for (k, v) in key_value_list {
+ println!("{} => {}", k,v);
+ if k == "config" {
+ let vdev_list = parse_zpool_status_config_tree(&v)?;
+ let _tree = vdev_list_to_tree(&vdev_list);
+ }
+ }
+
+ Ok(())
+}
--
2.20.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [pbs-devel] [PATCH proxmox-backup 2/2] fix #2904: zpool status: parse vdevs with state but without statistics
2020-07-30 8:02 [pbs-devel] [PATCH proxmox-backup 1/2] zfs status: add test with spares Dominik Csapak
@ 2020-07-30 8:02 ` Dominik Csapak
2020-08-14 11:01 ` [pbs-devel] applied: " Fabian Grünbichler
0 siblings, 1 reply; 3+ messages in thread
From: Dominik Csapak @ 2020-07-30 8:02 UTC (permalink / raw)
To: pbs-devel
some vdevs (e.g. spares) have a 'state' (e.g. AVAIL), but
not statistics like READ/WRITE/etc.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
src/tools/disks/zpool_status.rs | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/tools/disks/zpool_status.rs b/src/tools/disks/zpool_status.rs
index 8971d905..41b8a39c 100644
--- a/src/tools/disks/zpool_status.rs
+++ b/src/tools/disks/zpool_status.rs
@@ -67,6 +67,19 @@ fn parse_zpool_status_vdev(i: &str) -> IResult<&str, ZFSPoolVDevState> {
}
let (i, state) = preceded(multispace1, notspace1)(i)?;
+ if let Ok((n, _)) = preceded(multispace0, line_ending)(i) { // spares
+ let vdev = ZFSPoolVDevState {
+ name: vdev_name.to_string(),
+ lvl: indent_level,
+ state: Some(state.to_string()),
+ read: None,
+ write: None,
+ cksum: None,
+ msg: None,
+ };
+ return Ok((n, vdev));
+ }
+
let (i, read) = preceded(multispace1, parse_u64)(i)?;
let (i, write) = preceded(multispace1, parse_u64)(i)?;
let (i, cksum) = preceded(multispace1, parse_u64)(i)?;
--
2.20.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [pbs-devel] applied: [PATCH proxmox-backup 2/2] fix #2904: zpool status: parse vdevs with state but without statistics
2020-07-30 8:02 ` [pbs-devel] [PATCH proxmox-backup 2/2] fix #2904: zpool status: parse vdevs with state but without statistics Dominik Csapak
@ 2020-08-14 11:01 ` Fabian Grünbichler
0 siblings, 0 replies; 3+ messages in thread
From: Fabian Grünbichler @ 2020-08-14 11:01 UTC (permalink / raw)
To: Proxmox Backup Server development discussion
On July 30, 2020 10:02 am, Dominik Csapak wrote:
> some vdevs (e.g. spares) have a 'state' (e.g. AVAIL), but
> not statistics like READ/WRITE/etc.
>
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> src/tools/disks/zpool_status.rs | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/src/tools/disks/zpool_status.rs b/src/tools/disks/zpool_status.rs
> index 8971d905..41b8a39c 100644
> --- a/src/tools/disks/zpool_status.rs
> +++ b/src/tools/disks/zpool_status.rs
> @@ -67,6 +67,19 @@ fn parse_zpool_status_vdev(i: &str) -> IResult<&str, ZFSPoolVDevState> {
> }
>
> let (i, state) = preceded(multispace1, notspace1)(i)?;
> + if let Ok((n, _)) = preceded(multispace0, line_ending)(i) { // spares
> + let vdev = ZFSPoolVDevState {
> + name: vdev_name.to_string(),
> + lvl: indent_level,
> + state: Some(state.to_string()),
> + read: None,
> + write: None,
> + cksum: None,
> + msg: None,
> + };
> + return Ok((n, vdev));
> + }
> +
> let (i, read) = preceded(multispace1, parse_u64)(i)?;
> let (i, write) = preceded(multispace1, parse_u64)(i)?;
> let (i, cksum) = preceded(multispace1, parse_u64)(i)?;
> --
> 2.20.1
>
>
>
> _______________________________________________
> pbs-devel mailing list
> pbs-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-08-14 11:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-30 8:02 [pbs-devel] [PATCH proxmox-backup 1/2] zfs status: add test with spares Dominik Csapak
2020-07-30 8:02 ` [pbs-devel] [PATCH proxmox-backup 2/2] fix #2904: zpool status: parse vdevs with state but without statistics Dominik Csapak
2020-08-14 11:01 ` [pbs-devel] applied: " Fabian Grünbichler
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal