The 'rm' command should complete pretty quickly. Actually freeing up space takes time since a delete is subject to delayed allocation. The default transaction commit time is 30 seconds. And if there are snapshots or reflink copies, a backref walk is needed before extents can be freed.
I'm talking about the time it takes for the `rm` command to finish. I've started the habit of running all `rm` commands in the background on btrfs.
If it's reproducible, my suggestion is to strace the rm command and find out what it's doing that's taking so long; and post it to the mailing list:
Recording the kernel profile with perf would be more useful, I think. strace would probably only show long "unlink" syscall.
Yeah, and if perf is unrevealing, sysrq+t.
I tested removing a 10GiB file of random data from a btrfs filesystem, it took 254ms.
Re:Btrfs Coming to Fedora 33
by throwme45353464 on Monday August 24, 2020 @06:23AM
(#24259209)
Do you have snapshots enabled by any chance, or any other btrfs features?
It can take multiple seconds (like 5-10) on my fileserver to delete just one ~10GB file.