]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
sysv: Convert sysv_prepare_chunk() to take a folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 9 Jul 2024 14:52:44 +0000 (10:52 -0400)
committerChristian Brauner <brauner@kernel.org>
Wed, 7 Aug 2024 09:31:54 +0000 (11:31 +0200)
All callers now have a folio, so convert sysv_prepare_chunk() to take one.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/sysv/dir.c
fs/sysv/itree.c
fs/sysv/sysv.h

index 5f91a82a296696ecf22998a17f3c5b163529cac1..43615b803fee2cfe95d9c6f0530bca1a6c4cda60 100644 (file)
@@ -213,7 +213,7 @@ int sysv_add_link(struct dentry *dentry, struct inode *inode)
 got_it:
        pos = folio_pos(folio) + offset_in_folio(folio, de);
        folio_lock(folio);
-       err = sysv_prepare_chunk(&folio->page, pos, SYSV_DIRSIZE);
+       err = sysv_prepare_chunk(folio, pos, SYSV_DIRSIZE);
        if (err)
                goto out_unlock;
        memcpy (de->name, name, namelen);
@@ -238,7 +238,7 @@ int sysv_delete_entry(struct sysv_dir_entry *de, struct folio *folio)
        int err;
 
        folio_lock(folio);
-       err = sysv_prepare_chunk(&folio->page, pos, SYSV_DIRSIZE);
+       err = sysv_prepare_chunk(folio, pos, SYSV_DIRSIZE);
        if (err) {
                folio_unlock(folio);
                return err;
@@ -259,7 +259,7 @@ int sysv_make_empty(struct inode *inode, struct inode *dir)
 
        if (IS_ERR(folio))
                return PTR_ERR(folio);
-       err = sysv_prepare_chunk(&folio->page, 0, 2 * SYSV_DIRSIZE);
+       err = sysv_prepare_chunk(folio, 0, 2 * SYSV_DIRSIZE);
        if (err) {
                folio_unlock(folio);
                goto fail;
@@ -335,7 +335,7 @@ int sysv_set_link(struct sysv_dir_entry *de, struct folio *folio,
        int err;
 
        folio_lock(folio);
-       err = sysv_prepare_chunk(&folio->page, pos, SYSV_DIRSIZE);
+       err = sysv_prepare_chunk(folio, pos, SYSV_DIRSIZE);
        if (err) {
                folio_unlock(folio);
                return err;
index 19bcb51a220366631b9b89c0dfa0e86ddada208c..c8511e286673050542d00e77ff5fbdc72c9683ea 100644 (file)
@@ -466,9 +466,9 @@ static int sysv_read_folio(struct file *file, struct folio *folio)
        return block_read_full_folio(folio, get_block);
 }
 
-int sysv_prepare_chunk(struct page *page, loff_t pos, unsigned len)
+int sysv_prepare_chunk(struct folio *folio, loff_t pos, unsigned len)
 {
-       return __block_write_begin(page, pos, len, get_block);
+       return __block_write_begin(&folio->page, pos, len, get_block);
 }
 
 static void sysv_write_failed(struct address_space *mapping, loff_t to)
index fec9f6b883d578f56d5d9c38ce1276b45abc3bff..0a48b2e7edb1074354c4b046d77977e5b3555cdb 100644 (file)
@@ -133,8 +133,8 @@ extern void sysv_free_block(struct super_block *, sysv_zone_t);
 extern unsigned long sysv_count_free_blocks(struct super_block *);
 
 /* itree.c */
-extern void sysv_truncate(struct inode *);
-extern int sysv_prepare_chunk(struct page *page, loff_t pos, unsigned len);
+void sysv_truncate(struct inode *);
+int sysv_prepare_chunk(struct folio *folio, loff_t pos, unsigned len);
 
 /* inode.c */
 extern struct inode *sysv_iget(struct super_block *, unsigned int);