#define TTRS_UNMAPPED          0x2
 /* Reclaim the swap entry if swap is getting full */
 #define TTRS_FULL              0x4
-/* Reclaim directly, bypass the slot cache and don't touch device lock */
-#define TTRS_DIRECT            0x8
 
 static bool swap_only_has_cache(struct swap_info_struct *si,
                              unsigned long offset, int nr_pages)
        if (!need_reclaim)
                goto out_unlock;
 
-       if (!(flags & TTRS_DIRECT)) {
-               /* Free through slot cache */
-               delete_from_swap_cache(folio);
-               folio_set_dirty(folio);
-               ret = nr_pages;
-               goto out_unlock;
-       }
-
-       xa_lock_irq(&address_space->i_pages);
-       __delete_from_swap_cache(folio, entry, NULL);
-       xa_unlock_irq(&address_space->i_pages);
-       folio_ref_sub(folio, nr_pages);
+       delete_from_swap_cache(folio);
        folio_set_dirty(folio);
-
-       ci = lock_cluster(si, offset);
-       swap_entry_range_free(si, ci, entry, nr_pages);
-       unlock_cluster(ci);
        ret = nr_pages;
 out_unlock:
        folio_unlock(folio);
                        offset++;
                        break;
                case SWAP_HAS_CACHE:
-                       nr_reclaim = __try_to_reclaim_swap(si, offset, TTRS_ANYWAY | TTRS_DIRECT);
+                       nr_reclaim = __try_to_reclaim_swap(si, offset, TTRS_ANYWAY);
                        if (nr_reclaim > 0)
                                offset += nr_reclaim;
                        else
                        if (READ_ONCE(map[offset]) == SWAP_HAS_CACHE) {
                                spin_unlock(&ci->lock);
                                nr_reclaim = __try_to_reclaim_swap(si, offset,
-                                                                  TTRS_ANYWAY | TTRS_DIRECT);
+                                                                  TTRS_ANYWAY);
                                spin_lock(&ci->lock);
                                if (nr_reclaim) {
                                        offset += abs(nr_reclaim);