On 10 Jan 2018, at 12:01, Austin S. Hemmelgarn wrote:

On 2018-01-10 11:30, Tom Worster wrote:

Also, for future reference, the term we typically use is ENOSPC, as that's the symbolic name for the error code you get when this happens (or when your filesystem is just normally full), but I actually kind of like your name for it too, it conveys the exact condition being discussed in a way that should be a bit easier for non-technical types to understand.

Iiuc, ENOSPC is _exhaustion_ of unallocated space, which is a specific case of depletion.

I sought a term to refer to the phenomenon of unallocated space shrinking beyond what filesystem use would demand and how it ratchets down. Hence a sysop needs to manage DoUS. ENOSPC is likely a failure of such management.


- Some experienced users say that, to resolve a problem with DoUS, they would rather recreate the filesystem than run balance.
This is kind of independent of BTRFS.

Yes. I mentioned it only because it was, to me, a striking statement of lack of confidence in balance.


But if Duncan is right (which, for me, is practically the same as consensus on the proposition) that problems with corruption while running balance are associated with heavy coincident IO activity, then I can see a reasonable way forwards. I can even see how general recommendations for BTRFS maintenance might develop.
As I commented above, I would tend to believe Duncan is right in this case (both because it makes sense, and because he seems to generally be right about this type of thing). That said, I really do think that normal user I/O is probably not the issue, but low-level filesystem operations are. That said, there is no reason that BTRFS shouldn't either:
1. Handle this just fine without causing corruption.
or:
2. Extend the mutex used to prevent concurrent balances to cover other operations that might cause issues (that is, make it so you can't scrub a filesystem while it's being balanced, or defragment it, or whatever else).

Yes, but backtracking a bit, I think there's another really important point here. Assuming Duncan's right, it's not so hard to develop guidelines for general BTRFS management that include DoUS among other topics. Duncan's other email today contains or implies quite a lot of those guidelines.

Or, to put it another way, it's enough for me. I think I know what to do now. And that much could be written down for the benefit of others.

Tom

--
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