]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gfs2: Move gfs2_trans_add_databufs
authorAndreas Gruenbacher <agruenba@redhat.com>
Wed, 26 Mar 2025 21:21:08 +0000 (22:21 +0100)
committerAndreas Gruenbacher <agruenba@redhat.com>
Thu, 22 May 2025 07:12:27 +0000 (09:12 +0200)
Move gfs2_trans_add_databufs() to trans.c.  Pass in a glock instead of
a gfs2_inode.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/aops.c
fs/gfs2/aops.h
fs/gfs2/bmap.c
fs/gfs2/trans.c
fs/gfs2/trans.h

index 66b0ad9f1f9215a8b8d4e87aeecd9b905891b39d..1a3a420316fab04e1715b65d261c6624f41e38f0 100644 (file)
 #include "aops.h"
 
 
-void gfs2_trans_add_databufs(struct gfs2_inode *ip, struct folio *folio,
-                            size_t from, size_t len)
-{
-       struct buffer_head *head = folio_buffers(folio);
-       unsigned int bsize = head->b_size;
-       struct buffer_head *bh;
-       size_t to = from + len;
-       size_t start, end;
-
-       for (bh = head, start = 0; bh != head || !start;
-            bh = bh->b_this_page, start = end) {
-               end = start + bsize;
-               if (end <= from)
-                       continue;
-               if (start >= to)
-                       break;
-               set_buffer_uptodate(bh);
-               gfs2_trans_add_data(ip->i_gl, bh);
-       }
-}
-
 /**
  * gfs2_get_block_noalloc - Fills in a buffer head with details about a block
  * @inode: The inode
@@ -133,7 +112,7 @@ static int __gfs2_jdata_write_folio(struct folio *folio,
                                        inode->i_sb->s_blocksize,
                                        BIT(BH_Dirty)|BIT(BH_Uptodate));
                }
-               gfs2_trans_add_databufs(ip, folio, 0, folio_size(folio));
+               gfs2_trans_add_databufs(ip->i_gl, folio, 0, folio_size(folio));
        }
        return gfs2_write_jdata_folio(folio, wbc);
 }
index a10c4334d2489316c264f8de0a3a14e7a00e1ff7..f9fa41aaeaf410d91c8ed1012faf1c351de4df62 100644 (file)
@@ -9,7 +9,5 @@
 #include "incore.h"
 
 void adjust_fs_space(struct inode *inode);
-void gfs2_trans_add_databufs(struct gfs2_inode *ip, struct folio *folio,
-                            size_t from, size_t len);
 
 #endif /* __AOPS_DOT_H__ */
index 070905493f8faa1f356d890da367c0b4bcea23e2..7703d04711392beda8ba1b2154b853ce9c238cb5 100644 (file)
@@ -988,7 +988,8 @@ static void gfs2_iomap_put_folio(struct inode *inode, loff_t pos,
        struct gfs2_sbd *sdp = GFS2_SB(inode);
 
        if (!gfs2_is_stuffed(ip))
-               gfs2_trans_add_databufs(ip, folio, offset_in_folio(folio, pos),
+               gfs2_trans_add_databufs(ip->i_gl, folio,
+                                       offset_in_folio(folio, pos),
                                        copied);
 
        folio_unlock(folio);
index f8ae2c666fd609c39df324d2f77df6b8cc9207c2..075f7e9abe47ca8a48d59f99cd0fd0cff2f7e1a5 100644 (file)
@@ -226,6 +226,27 @@ out:
        unlock_buffer(bh);
 }
 
+void gfs2_trans_add_databufs(struct gfs2_glock *gl, struct folio *folio,
+                            size_t from, size_t len)
+{
+       struct buffer_head *head = folio_buffers(folio);
+       unsigned int bsize = head->b_size;
+       struct buffer_head *bh;
+       size_t to = from + len;
+       size_t start, end;
+
+       for (bh = head, start = 0; bh != head || !start;
+            bh = bh->b_this_page, start = end) {
+               end = start + bsize;
+               if (end <= from)
+                       continue;
+               if (start >= to)
+                       break;
+               set_buffer_uptodate(bh);
+               gfs2_trans_add_data(gl, bh);
+       }
+}
+
 void gfs2_trans_add_meta(struct gfs2_glock *gl, struct buffer_head *bh)
 {
 
index f8ce5302280d31a673394c909b5cd0a5676de19c..790c55f59e61212de5d363b75aabacbdc8ebd96b 100644 (file)
@@ -42,6 +42,8 @@ int gfs2_trans_begin(struct gfs2_sbd *sdp, unsigned int blocks,
 
 void gfs2_trans_end(struct gfs2_sbd *sdp);
 void gfs2_trans_add_data(struct gfs2_glock *gl, struct buffer_head *bh);
+void gfs2_trans_add_databufs(struct gfs2_glock *gl, struct folio *folio,
+                            size_t from, size_t len);
 void gfs2_trans_add_meta(struct gfs2_glock *gl, struct buffer_head *bh);
 void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd);
 void gfs2_trans_remove_revoke(struct gfs2_sbd *sdp, u64 blkno, unsigned int len);