• [6.12.3] btrfs dev stats -T /mnt/cache shows wrong output


    ap-wtioit
    • Retest Minor

    Unraid needs updated btrfs progs for v6.2.2+

     

    root@redacted:~# btrfs version
    btrfs-progs v6.2.1
    root@redacted:~# btrfs dev stats /mnt/cache
    [/dev/sdg1].write_io_errs    0
    [/dev/sdg1].read_io_errs     0
    [/dev/sdg1].flush_io_errs    0
    [/dev/sdg1].corruption_errs  4
    [/dev/sdg1].generation_errs  0
    [/dev/sdf1].write_io_errs    0
    [/dev/sdf1].read_io_errs     0
    [/dev/sdf1].flush_io_errs    0
    [/dev/sdf1].corruption_errs  4
    [/dev/sdf1].generation_errs  0
    root@redacted:~# btrfs dev stats -T /mnt/cache
    Id Path      Write errors Read errors Flush errors Corruption errors Generation errors
    -- --------- ------------ ----------- ------------ ----------------- -----------------
     1 /dev/sdg1            0           0            0                 0                 0
     2 /dev/sdf1            0           0            0                 0                 0

     


    with the current version of btrfs in unraid one does not receive the correct numbers when using `btrfs dev stats -T` (see https://github.com/kdave/btrfs-progs/issues/585)

    Note: posting without diagnostics (there is still too much information in the anonymized version (e.g. Serial Numbers, VM Names, ...))




    User Feedback

    Recommended Comments

    We have a 6.12.4 rc release available that includes btrfs-progs 6.3.3, would appreciate your help confirming it resolves this issue:

     
     

    Link to comment
    3 minutes ago, JorgeB said:

    About the diags, are the serial numbers and VM names your only concerns or are there other things?

    there are other things, i checked the whole archive again:
    * config/ident.cfg: NAME, COMMENT, (DOMAIN_USER, DOMAIN_PASSWORD (cannot test that it's empty on our servers), WORKGROUP (maybe if its not "WORKGROUP"), LOCAL_TLD
    * config/listen.txt: br0 and tun0 ip ranges / ips
    * config/rsyslog.cfg: remote_server

    * config/rsyslog.conf: at least the ip of the remote_server (*.* @1.2.3.4:514;RSYSLOG_SyslogProtocol23Format)
    * config/super.dat: disk serial numbers
    * config/pool/cache.cfg: diskId, diskId.1 (seem to contain disk serials)
    * logs/dhcp.log: IPs and routes
    * logs/libvirt: hostname

    * logs/syslog*.txt: hostname, ips, ssh users (successful and failed logins), docker container names, file names (mover)
    * qemu/*.txt: filename is VM name, hostname, HOME, XDG_*_HOME, master-key file name, image names (block dev)
    * smart/*.txt: filename contains disk serials, Serial Number, LU WWN Device Id (for Crucial CT2000MX500 contains part of the serial number),
    * system/ifconfig.txt: ip addresses and mac addresses (at least strip the last 3 segments so only the manifacturer part is visible)
    * system/lsof.txt: ip addresses, user names (all non default unraid users)
    * system/meminfo.txt: RAM serial numbers
    * system/ps.txt: user names (all non default unraid users), command arguments, program locations
    * system/testparm.txt: interfaces, server string, read list ("valid users" and "write list" are already replace with {a}...{z})
    * system/top.txt: user names (all non default unraid users), not sure about COMMAND (did contain nothing secret in our example but might in others)
    * system/urls.txt: Server Name, Local TLD, Internal IP, DNS 1, HTTP IP url, HTTP URL, HTTPS url 1, and errors (ERROR: When using DNS server 1.2.3.4, unredacted.fully.qualified.domain.name resolves to [redacted]. It should resolve to 1.2.3.5), cert names also show host name (and old host names possibly (Tower_unraid_bundle.pem))
    * system/vars.txt: DISK ID shows serial, idSb shows serial, DNS_SERVER1, IPADDR:0, GATEWAY:0, NGINX_LANIP, NGINX_LANNAME, NGINX_LANMDNS, ID_SERIAL (dotted for USB but not for disks), ID_SERIAL_SHORT (dotted for USB but not for disks), ID_WWN (for Crucial), ID_WWN_WITH_EXTENSION (for Crucial), NAME, COMMENT, WORKGROUP (if not "WORKGROUP"), LOCAL_TLD
    * xml/*.xml: filename is VM name, name, mac addresses of network interfaces, vnc listen if not 0.0.0.0, filesystem mount file names

    Link to comment
    7 hours ago, ljm42 said:

    We have a 6.12.4 rc release available that includes btrfs-progs 6.3.3, would appreciate your help confirming it resolves this issue:

    ...
     


    Unfortunately i had to reset the stats for our monitoring to catch it again if the error count increases so i cannot test if the numbers are ok in 6.12.4 rc.

    Link to comment
    On 8/22/2023 at 9:12 AM, ap-wtioit said:

    there are other things, i checked the whole archive again:

    Wow, that's a lot, LT can take a look and see if the diags can be further anonymized, though personally don't see the big deal with any of those.

     

    For me, and because I sometimes need them to troubleshoot some issues, why do you care that the devices serial numbers are shown? Other users have the same issue but I cannot understand what the problem is with showing them, AFAIK the most anyone can do with that is see if they are still under warranty or not.

    Link to comment
    27 minutes ago, JorgeB said:

    ... though personally don't see the big deal with any of those.


    That's unfortunate. Command arguments in ps.txt can be anything including sensitive information like external auth servers and credentials (hopefully no passwords). User names can be private information according to the GDPR. It's not good practice to leak your internal network structure by giving away information about ip addresses and ranges of internal networks.

     

    27 minutes ago, JorgeB said:

    For me, and because I sometimes need them to troubleshoot some issues, why do you care that the devices serial numbers are shown? Other users have the same issue but I cannot understand what the problem is with showing them, AFAIK the most anyone can do with that is see if they are still under warranty or not.


    Device Serial number also can be used to look up if certain hardware has security issues. E.g. hardware defects are often limited to a certain range of serial numbers. Imagine a phone call: "Hi i'm from Disk Company A and we need to send you a replacement for a hard disk because there is an issue with it." much more credible if they have the actual serial numbers of the hard drives.
     

    Link to comment
    40 minutes ago, ap-wtioit said:

    Imagine a phone call: "Hi i'm from Disk Company A and we need to send you a replacement for a hard disk because there is an issue with it.

    Only my opinion but this seems a little far fetched to me, never heard of any disk company calling consumers directly, also how would they find out who you are or your phone number based on the device serial?

    Link to comment


    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Status Definitions

     

    Open = Under consideration.

     

    Solved = The issue has been resolved.

     

    Solved version = The issue has been resolved in the indicated release version.

     

    Closed = Feedback or opinion better posted on our forum for discussion. Also for reports we cannot reproduce or need more information. In this case just add a comment and we will review it again.

     

    Retest = Please retest in latest release.


    Priority Definitions

     

    Minor = Something not working correctly.

     

    Urgent = Server crash, data loss, or other showstopper.

     

    Annoyance = Doesn't affect functionality but should be fixed.

     

    Other = Announcement or other non-issue.