If, even more hypothetically, read scheduling was strongly influenced by solid-vs-rotating in APFS, you'd probably still want to pretend seeks are cheap because asymptotically they will be for any but the smallest ARCs or the least cache-friendly workloads (in which case you probably want to actually use SSDs.). If, hypothetically, APFS had strong differences in allocation heuristics based on whether the underlying media was solid state or not, on a ZFS machine with anything other than a tiny ARC you'd probably still prefer that APFS uses its solid state heuristics to take advantage of the zio pipeline and the various write aggregation mechanisms in zfs. Secondarily, a read (via dd or ddrescue, and in some unusual uses of asr) will return whatever non-zeros were in the no-longer-used-by-the-filesystem blocks, because they were not unmapped/discarded. If the filesystem(s) inside the zvol do not send unmaps, then data they no longer use will not be shrink the zvol's USED property, and there will be additional r-m-w costs if those LBAs are subsequently overwritten by the filesystem inside. (Of course, dmu_free_long_range() is a call which can also trigger autotrim, if enabled and supported on the leaf vdevs). We take those and dmu_free_long_range(), returning the trimmed/unmapped LBAs to the pool (ignoring snapshots), and that happens whatever the geometry or collection of devices are in the pool. Probably the most relevant difference will be in whether zfs's zvol code sees unmaps/discards from xnu. With the underlying copy-on-write, hfs_relocate() in a zvol is almost certainly counterproductive. The latter will in general only be relevant if you have booted from the HFS volume, or you are doing some low-level manipulation of the HFS journal. On solid state media HFS enables unmap handling and sets HFS_SSD which nerfs hfs_relocate(). APFS does, but not in ways practically anyone would want (apfs.util lets you do some extra things like defragment and you'll observe different cache numbers in apfs_stats -e). I don't object to making a mac-only property to control that, but I have doubts that it would make much difference.įew filesystems that can be mounted by a Mac take real notice of whether the underlying media is rotational or solid state. It also shows up as "solid state disk", which in my case it clearly isn't - it's on a 100% HDD pool.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |