> 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

Reply via email to