btrfs: skip waiting on ordered range for special files
[firefly-linux-kernel-4.4.55.git] / fs / btrfs / inode.c
index d20db643772301b2f43102a7fec9279b343a23fa..f22beda91ffc768c977f3b3fca2e3adc3c5c5f0c 100644 (file)
@@ -4650,7 +4650,8 @@ void btrfs_evict_inode(struct inode *inode)
                goto no_delete;
        }
        /* do we really want it for ->i_nlink > 0 and zero btrfs_root_refs? */
-       btrfs_wait_ordered_range(inode, 0, (u64)-1);
+       if (!special_file(inode->i_mode))
+               btrfs_wait_ordered_range(inode, 0, (u64)-1);
 
        if (root->fs_info->log_root_recovering) {
                BUG_ON(test_bit(BTRFS_INODE_HAS_ORPHAN_ITEM,