snapper does a BTRFS_IOC_QUOTA_RESCAN and if that fails and errno is EINPROGRESS it does a BTRFS_IOC_QUOTA_RESCAN_WAIT. And only if that succeeds it calls BTRFS_IOC_QUOTA_RESCAN again. For details: https://github.com/openSUSE/snapper/blob/master/snapper/BtrfsUtils.cc#L464