jfs: stop using the nobh helper
authorChristoph Hellwig <hch@lst.de>
Mon, 13 Jun 2022 05:37:12 +0000 (07:37 +0200)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 2 Aug 2022 16:34:04 +0000 (12:34 -0400)
The nobh mode is an obscure feature to save lowlevel for large memory
32-bit configurations while trading for much slower performance and
has been long obsolete.  Switch to the regular buffer head based helpers
instead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
fs/jfs/inode.c

index 2593265..d1ec920 100644 (file)
@@ -301,13 +301,25 @@ static int jfs_write_begin(struct file *file, struct address_space *mapping,
 {
        int ret;
 
-       ret = nobh_write_begin(mapping, pos, len, pagep, fsdata, jfs_get_block);
+       ret = block_write_begin(mapping, pos, len, pagep, jfs_get_block);
        if (unlikely(ret))
                jfs_write_failed(mapping, pos + len);
 
        return ret;
 }
 
+static int jfs_write_end(struct file *file, struct address_space *mapping,
+               loff_t pos, unsigned len, unsigned copied, struct page *page,
+               void *fsdata)
+{
+       int ret;
+
+       ret = generic_write_end(file, mapping, pos, len, copied, page, fsdata);
+       if (ret < len)
+               jfs_write_failed(mapping, pos + len);
+       return ret;
+}
+
 static sector_t jfs_bmap(struct address_space *mapping, sector_t block)
 {
        return generic_block_bmap(mapping, block, jfs_get_block);
@@ -346,7 +358,7 @@ const struct address_space_operations jfs_aops = {
        .writepage      = jfs_writepage,
        .writepages     = jfs_writepages,
        .write_begin    = jfs_write_begin,
-       .write_end      = nobh_write_end,
+       .write_end      = jfs_write_end,
        .bmap           = jfs_bmap,
        .direct_IO      = jfs_direct_IO,
 };
@@ -399,7 +411,7 @@ void jfs_truncate(struct inode *ip)
 {
        jfs_info("jfs_truncate: size = 0x%lx", (ulong) ip->i_size);
 
-       nobh_truncate_page(ip->i_mapping, ip->i_size, jfs_get_block);
+       block_truncate_page(ip->i_mapping, ip->i_size, jfs_get_block);
 
        IWRITE_LOCK(ip, RDWRLOCK_NORMAL);
        jfs_truncate_nolock(ip, ip->i_size);