We are sure that: - one ordered extent just has one csum calculation worker, and no one access the csum list during the csum calculation except the worker. - we don't change the list and free the csum until no one reference to the ordered extent So it is safe to add csum without the lock.
Signed-off-by: Miao Xie <mi...@cn.fujitsu.com> --- fs/btrfs/ordered-data.c | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-) diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c index e4c3d56..396c6d1 100644 --- a/fs/btrfs/ordered-data.c +++ b/fs/btrfs/ordered-data.c @@ -280,16 +280,11 @@ void btrfs_add_ordered_sum(struct inode *inode, struct btrfs_ordered_extent *entry, struct btrfs_ordered_sum *sum) { - struct btrfs_ordered_inode_tree *tree; - - tree = &BTRFS_I(inode)->ordered_tree; - spin_lock_irq(&tree->lock); list_add_tail(&sum->list, &entry->list); WARN_ON(entry->csum_bytes_left < sum->len); entry->csum_bytes_left -= sum->len; if (entry->csum_bytes_left == 0) wake_up(&entry->wait); - spin_unlock_irq(&tree->lock); } /* -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html