If we're still going to wait after schedule(), we don't have to do
finish_wait() to remove our %wait_queue_entry since prepare_to_wait()
won't add the same %wait_queue_entry twice.
Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
if (writers)
schedule();
- finish_wait(&root->subv_writers->wait, &wait);
} while (writers);
+ finish_wait(&root->subv_writers->wait, &wait);
}
static int create_snapshot(struct btrfs_root *root, struct inode *dir,