I'll note, lsblk can return a heck of a lot more data than it does by default (and nvme drives show up there). lsblk -H will list for your system, and you can specify columns. You can also adjust output.
I guess with this in mind, I'm curious how this is different?
tanelpoder 7 hours ago [-]
Hi, yep lsblk targets a wider area of functionality, like showing mountpoints, device UUIDs, while lsds focuses only on block device settings.
Maybe the latest Linux versions have lsblk versions that support these columns, but in RHEL9 at least I don't see equivalents to lsds'es WBT_LAT, QDEPTH (not the same as lsblk's RQ-SIZE), WCACHE, FUA and some others. But these 4 are which I regularly need (especially when troubleshooting a yet another slow fsync() issue etc). I did and do use lsblk all the time too, but still end up catting and grepping various additional files and correlating the results, sometimes on systems with 100+ multipath block devices.
The other reason was that I wanted a tool that shows me where it gets these values too (for myself and sometimes for explaining stuff to others).
Edit: That being said, it shouldn't be hard at all to add the said extra fields to lsblk too.
strunz 1 hours ago [-]
Would be worth adding this as an FAQ on the page. Great job btw.
EDIT: Would also be really cool to define what each field means, if you're gonna reimplement everything anyways, why not make it as user friendly as possible.
bitbang 9 hours ago [-]
Very nice, needs option for json/jsonl output.
tanelpoder 9 hours ago [-]
Thanks! Yep I was thinking of doing that next, will be very easy as under the hood the data is stored in Python dictionaries.
trillic 6 hours ago [-]
Rewrote most of the functionality in C as an exercise
I always wanted the /dev/zero character device driver, which you can map into memory to clear it, or use as an infinite source of nulls, to use the minor node number as the value that got mapped into memory or produced, so you could make an infinite source of beeps with:
mknod /dev/seven c 1 7
I wonder what would happen if you made a /dev/seven device in your http servers public_html directory? Would it dutifully serve it up?
Better yet, support for utf-8 unicode, so you can make an infinite source of poo emojis.
The "Everything Is A File" philosophy should be taken to its logical conclusion.
I challenge anyone to find another place on the Internet where one person's joke is another person's kernel module.
xerxes901 4 hours ago [-]
Question: what actually reads /etc/pooper to configure the character? I can’t work out how that file’s contents ends up as module parameters and I’d love to know!
dlt713705 3 hours ago [-]
You are absolutely right, the /etc/pooper file was never loaded.
The code has been updated and now you can change the pooped char on the fly with something like :
`echo "<WHATEVER UTF-8 CHAR>" | sudo tee /sys/module/pooper/parameters/char_utf8`
/etc/pooper file and module unload/reload are no more needed :)
xerxes901 1 hours ago [-]
Thanks for clarifying, and implementing this essential feature!
anonymousiam 5 hours ago [-]
Easy to get an infinite stream of bell codes with:
yes ^V^G
babuloseo 9 hours ago [-]
can we package this for Arch? Arch Defense Taskforce where you at?
Maintaining an AUR package can be great fun and an instructive glimpse into what FLOSS maintainers go through.
tanelpoder 8 hours ago [-]
I just added a little comment/errata regarding the NVME_QDEPTH column to the post (search for errata). I should probably rename that column to emphasize that (for now) it’s the Linux nvme module level max QD and not the hardware one (it’s complicated…)
Rendered at 05:03:45 GMT+0000 (Coordinated Universal Time) with Vercel.
I guess with this in mind, I'm curious how this is different?
Maybe the latest Linux versions have lsblk versions that support these columns, but in RHEL9 at least I don't see equivalents to lsds'es WBT_LAT, QDEPTH (not the same as lsblk's RQ-SIZE), WCACHE, FUA and some others. But these 4 are which I regularly need (especially when troubleshooting a yet another slow fsync() issue etc). I did and do use lsblk all the time too, but still end up catting and grepping various additional files and correlating the results, sometimes on systems with 100+ multipath block devices.
The other reason was that I wanted a tool that shows me where it gets these values too (for myself and sometimes for explaining stuff to others).
Edit: That being said, it shouldn't be hard at all to add the said extra fields to lsblk too.
EDIT: Would also be really cool to define what each field means, if you're gonna reimplement everything anyways, why not make it as user friendly as possible.
https://gist.github.com/grahameger/2507019334f07036f84080a87...
mknod /dev/seven c 1 7
I wonder what would happen if you made a /dev/seven device in your http servers public_html directory? Would it dutifully serve it up?
Better yet, support for utf-8 unicode, so you can make an infinite source of poo emojis.
The "Everything Is A File" philosophy should be taken to its logical conclusion.
The code has been updated and now you can change the pooped char on the fly with something like :
`echo "<WHATEVER UTF-8 CHAR>" | sudo tee /sys/module/pooper/parameters/char_utf8`
/etc/pooper file and module unload/reload are no more needed :)
Maintaining an AUR package can be great fun and an instructive glimpse into what FLOSS maintainers go through.