I may have answered my own question using strace. And for whatever reason this 
time fstrim worked.

fstrim
ioctl(3, FITRIM, 0x7fffbf6b87e0) 
…
write(1, "/mnt/: 13.9 MiB (14598144 bytes)"…, 41/mnt/: 13.9 MiB (14598144 
bytes) trimmed

Clearly this is only erasing what the file system is aware of having been 
recently deleted, even though it's a bit off as I'd just deleted a 6.1MB file.



mkfs.btrs:

ioctl(3, BLKGETSIZE64, 14729330176)     = 0
ioctl(3, BLKDISCARD, {0, 7fff920ee4a0}) = 0
write(2, "Performing full device TRIM (13."..., 43Performing full device TRIM 
(13.72GiB) ...
) = 43
ioctl(3, BLKDISCARD, {0, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {40000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {80000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {c0000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {100000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {140000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {180000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {1c0000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {200000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {240000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {280000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {2c0000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {300000000, 7fff920ee4a0}) = 0
ioctl(3, BLKDISCARD, {340000000, 7fff920ee4a0}) = 0

And this blew away everything on that partition.

Since the SD Card spec references a completely different command than the ATA 
spec (TRIM), I don't think either one of these are TRIM, even if functionally 
equivalent. Instead the SD Card ERASE_* commands are probably being used, but I 
can't confirm this because writes to /dev/mmcblk0 aren't showing up with:

echo scsi:scsi_dispatch_cmd_start > /sys/kernel/debug/tracing/set_event 
echo 1 > /sys/kernel/debug/tracing/tracing_on
cat /sys/kernel/debug/tracing/trace_pipe


Chris Murphy--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to