Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Conky: ${fs_.. mountpoint} values not updating
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
ipic
Guru
Guru


Joined: 29 Dec 2003
Posts: 407
Location: UK

PostPosted: Sun Nov 10, 2024 6:06 pm    Post subject: Conky: ${fs_.. mountpoint} values not updating Reply with quote

This used to work, but unfortunately I didn't spot when it stopped working, so I can't say what changed to cause this. Same for both conky versions currently in portage.

I have some disk space monitoring lines defined as follows:
Code:

${color1}File systems:
 ${color1}root ${color}${fs_used_perc /}% ${fs_bar 6 /}
 ${color1}usr ${color}${fs_used_perc /usr}% ${fs_bar 6 /usr}
 ${color1}var ${color}${fs_used_perc /var}% ${fs_bar 6 /var}
 ${color1}share ${color}${fs_used_perc /share}% ${fs_bar 6 /share}
 ${color1}home ${color}${fs_used_perc /home}% ${fs_bar 6 /home}
 ${color1}ipic ${color}${fs_used_perc /home/ipic}% ${fs_bar 6 /home/ipic}
 ${color1}ipic-local ${color}${fs_used_perc /home/ipic/.local}% ${fs_bar 6 /home/ipic/.local}
 ${color1}tmp-portage ${color}${fs_used_perc /var/tmp/portage}% ${fs_bar 6 /var/tmp/portage}
 ${color1}rsnapshot ${color}${fs_used_perc /mnt/rsnapshot}% ${fs_bar 6 /mnt/rsnapshot}


I tried ${fs_free mountpoint} as well, with the same result (i.e. do not update when free space changes)

All the targets are separate partitions (LVM volumes to be exact)

They all show the correct value when I start conky, but then do not change when the space usage of a partition changes.
I monitor the disk space using
Code:
watch df -h
and can see it change, but conky just stays on the startup values.

All the other things I have conky monitor update correctly, eg
Code:
${diskiograph /dev/sda}
${upspeedgraph br0 15,90} ${upspeed br0}
${hwmon 6 fan 1}

and so on.

Unfortunately my Googling 'skill' yields no results for this issue.
Has anyone else seen this?
Back to top
View user's profile Send private message
stefantalpalaru
n00b
n00b


Joined: 11 Jan 2009
Posts: 74
Location: Italy

PostPosted: Sun Nov 10, 2024 6:45 pm    Post subject: Reply with quote

I'm running conky-1.21.8 where "fs_free" and "fs_used" work properly for ext4 filesystems, but stopped updating for ZFS pools, a few versions back.
Back to top
View user's profile Send private message
ipic
Guru
Guru


Joined: 29 Dec 2003
Posts: 407
Location: UK

PostPosted: Sun Nov 10, 2024 7:45 pm    Post subject: Reply with quote

All my file systems are ext4 :(
I am on 1.21.7 - perhaps that is it.
Back to top
View user's profile Send private message
tomtom69
Apprentice
Apprentice


Joined: 09 Nov 2010
Posts: 253
Location: Bavaria

PostPosted: Sun Nov 10, 2024 7:51 pm    Post subject: Reply with quote

Same here, with ext4 file system
My conky config is rather old so I thought it is related to that.
The correspondig line in config is:
Code:

${color grey}FS SYS: ${fs_free /}/${fs_size /} ${fs_bar 6 /}

I tried to change "/" to "/dev/sda4" (which is the device for this mount point) but this does not work at all.
The issue appeared with conky update to 1.21.7. The formerly stable version 1.19.8 did not have this issue
Back to top
View user's profile Send private message
ipic
Guru
Guru


Joined: 29 Dec 2003
Posts: 407
Location: UK

PostPosted: Mon Nov 11, 2024 9:57 am    Post subject: Reply with quote

During my morning emerge routine I noticed that
Code:
${fs_used_perc /var/tmp/portage}
was not reporting change either. This is a tmpfs file system.

So, I downloaded the 1.21.8 Appimage from github.

A test using 1.21.8 showed that it reported changes to tmpfs.
A further test showed it reporting changes to an ext4 partition.

It is odd, since this issue is not mentioned in the release notes. Either it was fixed by some other change in version 1.21.8, or something is compiled into the appimage that is not compiled into my installed version 1.21.7
Back to top
View user's profile Send private message
ipic
Guru
Guru


Joined: 29 Dec 2003
Posts: 407
Location: UK

PostPosted: Mon Nov 11, 2024 10:07 am    Post subject: Reply with quote

Well, closer inspection of the changelog shows I missed this:
Code:

src/fs.{cc,h}: Update fs_stats without error spam. by @pghvlaans in #2033


The description of the PR says this:
Code:

update_fs_stats was recently altered to clear set for all file systems every thirteen seconds, and its update_fs_stat call was removed. This was done to mitigate a longstanding issue whereby repeated errors appeared when updates were attempted for a nonexistent mountpoint. However, before the change, update_fs_stat was only called from prepare_fs_stat and update_fs_stats. In consequence, update_fs_stat is now called for each filesystem only at init time, and no changes are displayed.


It goes on to describe the fix that was merged.

So folks, we are not all going mad - this one was real!

Does this warrant a Gentoo bug asking for a version bump?
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22645

PostPosted: Mon Nov 11, 2024 3:18 pm    Post subject: Reply with quote

If a new version of Conky is available with the fix, and the Gentoo maintainer has not noticed that within a few weeks of the release, then in my opinion, it would be appropriate to file a bug requesting the bump. If there is no release, but the fix is self-contained and easy to backport, I think it would be fine to file a bug asking for a Gentoo -r revision of the ebuild that applies the fix.

For the benefit of readers here, it would be nice to include a link to the PR. Some people can probably work it out from the PR number you cited, but a direct link would be simpler.
Back to top
View user's profile Send private message
ipic
Guru
Guru


Joined: 29 Dec 2003
Posts: 407
Location: UK

PostPosted: Mon Nov 11, 2024 3:34 pm    Post subject: Reply with quote

Link to conky github repsoitory: https://github.com/brndnmtthws/conky
Link to v1.21.8 release page: https://github.com/brndnmtthws/conky/releases/tag/v1.21.8
Link to pull request #2033: https://github.com/brndnmtthws/conky/pull/2033

The release page says it was released 'last week', so by your rule not soon enough to raise a Gentoo bug.

The release appimage is a bit heavy for visual candy - I'll have a look at patching the current version.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22645

PostPosted: Mon Nov 11, 2024 3:51 pm    Post subject: Reply with quote

"A few weeks" is not a hard rule. Rather, it is an estimate based on balancing competing goals. One the one hand, you want to inform a maintainer who is unaware of the release, so that it does not languish indefinitely. On the other hand, you want to avoid badgering a maintainer who will handle it without being prompted, but has not yet had time to deal with the bump. Same day bump requests are generally held to be more of a nuisance than a help. Waiting a few weeks is, in my opinion, enough time that if the maintainer were aware, there would be some evidence of that awareness, even if only the maintainer filing a bump bug to record that it needs to be done.
Back to top
View user's profile Send private message
ipic
Guru
Guru


Joined: 29 Dec 2003
Posts: 407
Location: UK

PostPosted: Mon Nov 11, 2024 4:12 pm    Post subject: Reply with quote

Here is a patch that fixes the fs updating issue in the gentoo current version, which is 1.21.7

To apply this patch, copy it into a file called conky-1.21.7-fs-fix.patch (or whatever_you_want_to_call_it.patch), and then place that file in /etc/portage/patches/app-admin/conky-1.21.7

Code:

diff --git a/src/fs.cc b/src/fs.cc
index 7593d99..bb55f13 100644
--- a/src/fs.cc
+++ b/src/fs.cc
@@ -79,7 +79,7 @@ int update_fs_stats() {
   if (current_update_time - last_fs_update < 13) { return 0; }
 
   for (i = 0; i < MAX_FS_STATS; ++i) {
-    fs_stats[i].set = 0;
+    if (fs_stats[i].set != 0) { update_fs_stat(&fs_stats[i]); }
   }
   last_fs_update = current_update_time;
   return 0;
@@ -113,6 +113,7 @@ struct fs_stat *prepare_fs_stat(const char *s) {
   }
   strncpy(next->path, s, DEFAULT_TEXT_BUFFER_SIZE);
   next->set = 1;
+  next->errored = 0;
   update_fs_stat(next);
   return next;
 }
@@ -142,10 +143,14 @@ static void update_fs_stat(struct fs_stat *fs) {
     /* bfree (root) or bavail (non-roots) ? */
     fs->avail = static_cast<long long>(s.f_bavail) * s.f_bsize;
     fs->free = static_cast<long long>(s.f_bfree) * s.f_bsize;
+    fs->errored = 0;
     get_fs_type(fs->path, fs->type);
 #endif
   } else {
-    NORM_ERR("statfs '%s': %s", fs->path, strerror(errno));
+    if (fs->errored == 0) {
+       NORM_ERR("statfs '%s': %s", fs->path, strerror(errno));
+       fs->errored = 1;
+  }
     fs->size = 0;
     fs->avail = 0;
     fs->free = 0;
diff --git a/src/fs.h b/src/fs.h
index 16bcafc..41d3a4d 100644
--- a/src/fs.h
+++ b/src/fs.h
@@ -40,6 +40,7 @@ struct fs_stat {
   long long avail;
   long long free;
   char set;
+  char errored;
 };
 
 /* forward declare to make gcc happy (fs.h <-> text_object.h include) */


This is a verbatim copy from the conky github repository, I take no credit for it whatsoever.
I suggest it's use for anyone who is effected by this issue, while a Gentoo version 1.21.8 is not available.
Back to top
View user's profile Send private message
tomtom69
Apprentice
Apprentice


Joined: 09 Nov 2010
Posts: 253
Location: Bavaria

PostPosted: Mon Nov 11, 2024 9:35 pm    Post subject: Reply with quote

I also tried to extract a patch but you were faster than me.
Thank you, works perfectly :-)
Back to top
View user's profile Send private message
stefantalpalaru
n00b
n00b


Joined: 11 Jan 2009
Posts: 74
Location: Italy

PostPosted: Wed Nov 13, 2024 2:12 am    Post subject: Reply with quote

conky-1.21.8 has been available in my overlay since November 6th: https://github.com/stefantalpalaru/gentoo-overlay
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum