* gnu/packages/admin.scm (dstat)[source]: Add patches. * gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch, gnu/packages/patches/dstat-skip-devices-without-io.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them.
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From: Tobias Geerinckx-Rice <me@tobias.gr>
 | 
						|
Date: Sun, 16 Jun 2019 02:34:10 +0200
 | 
						|
Subject: [PATCH] gnu: dstat: Fix crash when specifying a delay.
 | 
						|
 | 
						|
Taken verbatim from a pull request[0] that will never be merged.
 | 
						|
 | 
						|
[0]: https://github.com/dagwieers/dstat/pull/167
 | 
						|
 | 
						|
From 220a785321b13b6df92a536080aca6ef1cb644ad Mon Sep 17 00:00:00 2001
 | 
						|
From: Falko Goettsch <falko@uw.edu>
 | 
						|
Date: Mon, 11 Mar 2019 20:12:49 -0700
 | 
						|
Subject: [PATCH] Fixed bug when specifying a delay
 | 
						|
 | 
						|
The division in the 'loop' calculation in perform() was returning floating point values
 | 
						|
after the migration to Python 3, rather than rounding down. Changed to floor division.
 | 
						|
 | 
						|
I think the floating point values kept 'loop == 0' from ever being
 | 
						|
true and the variables inside that conditional were never initialized,
 | 
						|
causing the following error when a delay other than 1 was specified:
 | 
						|
 | 
						|
You did not select any stats, using -cdngy by default.
 | 
						|
Traceback (most recent call last):
 | 
						|
  File "/home/falko/repos/dstat/dstat", line 2825, in <module>
 | 
						|
    main()
 | 
						|
  File "/home/falko/repos/dstat/dstat", line 2684, in main
 | 
						|
    scheduler.run()
 | 
						|
  File "/home/falko/.conda/envs/python3/lib/python3.7/sched.py", line 151, in run
 | 
						|
    action(*argument, **kwargs)
 | 
						|
  File "/home/falko/repos/dstat/dstat", line 2729, in perform
 | 
						|
    oldcols = cols
 | 
						|
NameError: name 'cols' is not defined
 | 
						|
---
 | 
						|
 dstat | 2 +-
 | 
						|
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
						|
 | 
						|
diff --git a/dstat b/dstat
 | 
						|
index 9359965..3b4980f 100755
 | 
						|
--- a/dstat
 | 
						|
+++ b/dstat
 | 
						|
@@ -2697,7 +2697,7 @@ def perform(update):
 | 
						|
 
 | 
						|
         starttime = time.time()
 | 
						|
 
 | 
						|
-        loop = (update - 1 + op.delay) / op.delay
 | 
						|
+        loop = (update - 1 + op.delay) // op.delay
 | 
						|
         step = ((update - 1) % op.delay) + 1
 | 
						|
 
 | 
						|
         ### Get current time (may be different from schedule) for debugging
 |