> The man page needs to yell more loudly that there are two operations > overloaded depending on type of operand, with two very different > meanings of "discard".
Agreed. > It is not lost on me that the disk-level discard is about telling the > fs that is the disk (a zvol :-) Yes, if your "disk" is really a pseudo-disk of some sort (vnd, zfs, whatever) then its discard operation probably maps into one or more discards on its underlying object(s).... > Thus, whether fdiscard(2) on a file results in a later disk-level > discard operation is entirely unspecified, and that's ok. Agreed on all counts. (Two discards which each cover half a filesystem block, but different halves, probably will not result on any underlying-device discards. Managing to get that would probably amount to an extent filesystem....) > I have arrived at thinking that a sensible project scope is fs-level > discard, only. > A separate project would be a full examine/maybe-implement/maybe-redo > of TRIM, both via fdiscard on block devices and integrated into all > the filesystems. Obviously needs examine step first! Indeed! I agree. The filesystem-level discard is the harder project in terms of coding, I suspect, but easier in that it can be done entirely within NetBSD, without needing reference to external anything. When I looked at TRIM a while back, part of the projblem was finding specs for TRIM - all I managed to find was one device's device-specific version; while I'm sure someone better at researching such things could do better, it will be one thing needing doing. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B