> I am trying to better understand how the cleaner kthread > (btrfs-cleaner) impacts foreground performance, specifically > during snapshot deletion. My experience so far has been that > it can be dramatically disruptive to foreground I/O. That's such a warmly innocent and optimistic question! This post gives the answer, and to an even more general question: http://www.sabi.co.uk/blog/17-one.html?170610#170610 > the response tends to be "use less snapshots," or "disable > quotas," both of which strike me as intellectually > unsatisfying answers, especially the former in a filesystem > where snapshots are supposed to be "first-class citizens." They are "first class" but not "cost-free". In particular every extent is linked in a forward map and a reverse map, and deleting a snapshot involves materializing and updating a join of the two, which seems to be done with a classic nested-loop join strategy resulting in N^2 running time. I suspect that quotas have a similar optimization. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
