From: Nikolay Borisov Date: Thu, 3 Jan 2019 08:50:03 +0000 (+0200) Subject: btrfs: Document logic regarding inode in async_cow_submit X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4546d178745d5d5f78352a275cf50caa47528436;p=linux.git btrfs: Document logic regarding inode in async_cow_submit Add a comment explaining when ->inode could be NULL and why we always perform the ->async_delalloc_pages modification. Signed-off-by: Nikolay Borisov Signed-off-by: David Sterba --- diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index cb996903c739f..05c50a02d4ff4 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -1165,6 +1165,12 @@ static noinline void async_cow_submit(struct btrfs_work *work) 5 * SZ_1M) cond_wake_up_nomb(&fs_info->async_submit_wait); + /* + * ->inode could be NULL if async_cow_start has failed to compress, + * in which case we don't have anything to submit, yet we need to + * always adjust ->async_delalloc_pages as its paired with the init + * happening in cow_file_range_async + */ if (async_cow->inode) submit_compressed_extents(async_cow); }