backup – Why doesn’t my sparsebundle report free space, with plenty to spare?

I have a Time Machine created sparsebundle (HFS+) that reports the following limits when using hdiutil resize -limits:

 min     cur     max 
403186088   403186088   34359738368

That’s a current size of 206 GB and a max of 17.5 TB. I draw the conclusion that I don’t need to hdiutil resize the sparsebundle to allow it to expand. The host volume has an additional 200 GB free, so the bundle should therefore be able to expand about 100% — however:

  • Disk utility reports free space as 1 GB
  • Time Machine reports free space as 1 GB

I expected them to detect 200 GB of free space available on the host volume. This is a problem since Time Machine will start deleting backups prematurely.

How do I make the sparsebundle expand when necessary to fill available space on the host file system?

Some additional questions that came up that could help to narrow it down:

  1. Which part of the system is responsible for expanding the bundle when required? Does Time Machine do this explicitly or is it done transparently underneath it? I.e. is this a problem with Time Machine or with something more fundamental?
  2. Is there a more reliable way to check whether Time Machine has/will run out of space than to look at the “free space” figure in Time Machine settings? I.e. can the numbers be trusted? I did remove and add the bundle as a backup destination with tmutil setdestination before checking free space.
  3. If Time Machine is explicitly responsible for expanding a sparsebundle used as a backup target, will it only do this when it itself mounts the sparsebundle as a step of a networked backup? In other words, when taking the networked drive and plugging it in locally with USB3, and then manually mounting the sparsebundle, would Time Machine just skip the step where it usually expands the sparsebundle target since the bundle is now considered local storage (which doesn’t generally use sparsebundles)?

MacOS Mojave 10.14.6