unsigned char copy_size, node_pivots = mt_pivots[wr_mas->type];
        bool in_rcu = mt_in_rcu(mas->tree);
 
-       /* Check if there is enough data. The room is enough. */
-       if (!mte_is_root(mas->node) && (new_end < mt_min_slots[wr_mas->type]) &&
-           !(mas->mas_flags & MA_STATE_BULK))
-               return false;
-
        if (mas->last == wr_mas->end_piv)
                offset_end++; /* don't copy this offset */
        else if (unlikely(wr_mas->r_max == ULONG_MAX))
 static inline bool mas_wr_append(struct ma_wr_state *wr_mas,
                unsigned char new_end)
 {
-       struct ma_state *mas;
+       struct ma_state *mas = wr_mas->mas;
        void __rcu **slots;
-       unsigned char end;
-
-       mas = wr_mas->mas;
-       if (mt_in_rcu(mas->tree))
-               return false;
-
-       end = mas->end;
-       if (mas->offset != end)
-               return false;
+       unsigned char end = mas->end;
 
        if (new_end < mt_pivots[wr_mas->type]) {
                wr_mas->pivots[new_end] = wr_mas->pivots[end];