On Dec  7 19:53, Corinna Vinschen via Cygwin wrote:
> On Dec  7 18:02, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via Cygwin wrote:
> > Thank you for your prompt reply!
> > 
> > > TRIM is only enabled on a filesystem, if the underlying drive
> > > actually supports TRIM.  The majority of SSDs support it, but not
> > > necessarily all SSDs.
> > > 
> > > The above values, in particular SSINFO_FLAGS_NO_SEEK_PENALTY being
> > > FALSE, indicate that your drive is actually not an SSD, but a rotating
> > > harddisk, or it's an SSD which fakes to be a rotating harddisk.
> > 
> > Well, I don't have any rotating HHDs in my computer.  4 of my SSDs report 
> > this:
> > 
> > TRIM Command:  Supported (Deterministic Read After TRIM, Words = 0)
> > 
> > and the last one (an older drive, indeed) report this:
> > 
> > TRIM Command:  Supported (Indeterminate Read After TRIM)
> > 
> > But my C: drive (where Cygwin is installed) is a newer drive (one of those 
> > 4).
> > 
> > That's odd.
> 
> Yes, it is.  But getVolInfo can only print what it gets from the OS,
> so I don't see what could be changed ¯\_(ツ)_/¯

Btw., I took the opportunity trying to implement the Linux FITRIM ioctl.

FTR, it works, kind of.

The problem is this:

- In Linux, ioctl(FITRIM) only works on filesystem descriptors (e.g.,
  /dev/sda1).  When trying to call ioctl(FITRIM) on file descriptors
  (e.g. /tmp/foo), the ioctl returns -1 with errno set to EOPNOTSUPP.

- In Windows, DeviceIoControl(FSCTL_FILE_LEVEL_TRIM) works on files
  handles.  It fails with ERROR_INVALID_ARGUMENT when called on
  filesystem handles.

So the usage patterns are mutually exclusive.

Additionally I found that DeviceIoControl(FSCTL_FILE_LEVEL_TRIM) can
fail with ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED even if
SSINFO_FLAGS_TRIM_ENABLED is TRUE, in my case with NTFS on the
file-backed virtual drive used from a Win11 VM.

This is soooo frustrating :(((


Corinna

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to