On Tue, Jan 3, 2017 at 9:24 PM, Darrick J. Wong <darrick.wong@xxxxxxxxxx> wrote: ... > > There's also the unsolved problem of what happens if we mount and find > agf_freeblks < (sum(ask) - sum(used)) -- right now we eat that state and > hope that we don't later ENOSPC and crash. For reflink and rmap we will > have always had the AG reservation and therefore it should never happen > that we have fewer free blocks than reserved blocks. (Unless the user > does something pathological like using CoW to create many billions of > separate rmap records...) > Darrick, Can you explain the "Unless the user..." part? Is it not possible to actively limit the user from getting to the pathologic case? If AG reservation size is a function of the maximum block refcount, then an operation that is about to increase the maximum block refcount to a size that will increase the worst case reservation beyond a certain percentage of the AG (or beyond available space for that matter) should be denied by a conservative ENOSPC. I imagine it would be much easier and also understandable from user POV to get a preventative ENOSPC for over cloning, then to get it some time in the far future for trying to delete or deduplicate blocks. Amir. -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html