int states_nr)
{
int flush_state = 0;
- int commit_cycles = 2;
while (!space_info->full) {
flush_space(fs_info, space_info, U64_MAX, ALLOC_CHUNK_FORCE);
}
spin_unlock(&space_info->lock);
}
-again:
- while (flush_state < states_nr) {
- u64 flush_bytes = U64_MAX;
-
- if (!commit_cycles) {
- if (states[flush_state] == FLUSH_DELALLOC_WAIT) {
- flush_state++;
- continue;
- }
- if (states[flush_state] == COMMIT_TRANS)
- flush_bytes = ticket->bytes;
- }
- flush_space(fs_info, space_info, flush_bytes, states[flush_state]);
+ while (flush_state < states_nr) {
+ flush_space(fs_info, space_info, U64_MAX, states[flush_state]);
spin_lock(&space_info->lock);
if (ticket->bytes == 0) {
spin_unlock(&space_info->lock);
spin_unlock(&space_info->lock);
flush_state++;
}
- if (commit_cycles) {
- commit_cycles--;
- flush_state = 0;
- goto again;
- }
}
static void wait_reserve_ticket(struct btrfs_fs_info *fs_info,