Linux
如何判斷 Linux 塊設備是否可修剪?
fstrim
需要掛載Linux塊設備,而且不是很冗長。blkdiscard
可以告訴,但也需要寫操作。我可以以某種方式判斷塊設備是否支持修剪/丟棄,而無需實際嘗試修剪/丟棄上面的東西嗎?
您可以檢查設備的最大丟棄大小,例如
$ cat /sys/block/X/queue/discard_max_bytes
(酌情更換
X
)。如果顯示的值大於 0,則設備支持丟棄。嚴格來說,
discard_max_hw_bytes
表示硬體支持什麼;discard_max_bytes
表示軟體支持什麼,後者通常是相關的:discard_max_bytes 值為 0 表示設備不支持丟棄功能。
(這在本
discard_max_hw_bytes
節中,但對兩者都有效。參考將在 5.15 中修復。)這適用於許多不同的塊設備,而不僅僅是磁碟:循環設備、設備映射器設備等。