]> Git Repo - J-linux.git/commitdiff
fs/ntfs3: Switch to folio to release resources
authorKonstantin Komarov <[email protected]>
Fri, 11 Oct 2024 18:36:36 +0000 (21:36 +0300)
committerKonstantin Komarov <[email protected]>
Fri, 1 Nov 2024 08:19:52 +0000 (11:19 +0300)
As part of the process of switching from page to folio.

Signed-off-by: Konstantin Komarov <[email protected]>
fs/ntfs3/file.c

index 0063e2351aa9fc3104e9e8885e12cb76df6b9590..3f96a11804c9064c497283df6ba72a43e091f380 100644 (file)
@@ -989,6 +989,7 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
        u64 frame_vbo;
        pgoff_t index;
        bool frame_uptodate;
+       struct folio *folio;
 
        if (frame_size < PAGE_SIZE) {
                /*
@@ -1043,8 +1044,9 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
                        if (err) {
                                for (ip = 0; ip < pages_per_frame; ip++) {
                                        page = pages[ip];
-                                       unlock_page(page);
-                                       put_page(page);
+                                       folio = page_folio(page);
+                                       folio_unlock(folio);
+                                       folio_put(folio);
                                }
                                goto out;
                        }
@@ -1054,9 +1056,10 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
                off = offset_in_page(valid);
                for (; ip < pages_per_frame; ip++, off = 0) {
                        page = pages[ip];
+                       folio = page_folio(page);
                        zero_user_segment(page, off, PAGE_SIZE);
                        flush_dcache_page(page);
-                       SetPageUptodate(page);
+                       folio_mark_uptodate(folio);
                }
 
                ni_lock(ni);
@@ -1065,9 +1068,10 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
 
                for (ip = 0; ip < pages_per_frame; ip++) {
                        page = pages[ip];
-                       SetPageUptodate(page);
-                       unlock_page(page);
-                       put_page(page);
+                       folio = page_folio(page);
+                       folio_mark_uptodate(folio);
+                       folio_unlock(folio);
+                       folio_put(folio);
                }
 
                if (err)
@@ -1109,8 +1113,9 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
                                        for (ip = 0; ip < pages_per_frame;
                                             ip++) {
                                                page = pages[ip];
-                                               unlock_page(page);
-                                               put_page(page);
+                                               folio = page_folio(page);
+                                               folio_unlock(folio);
+                                               folio_put(folio);
                                        }
                                        goto out;
                                }
@@ -1151,9 +1156,10 @@ static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
                for (ip = 0; ip < pages_per_frame; ip++) {
                        page = pages[ip];
                        ClearPageDirty(page);
-                       SetPageUptodate(page);
-                       unlock_page(page);
-                       put_page(page);
+                       folio = page_folio(page);
+                       folio_mark_uptodate(folio);
+                       folio_unlock(folio);
+                       folio_put(folio);
                }
 
                if (err)
This page took 0.051585 seconds and 4 git commands to generate.