]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iomap: Use kzalloc to allocate iomap_page
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 21 Sep 2020 15:58:39 +0000 (08:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Oct 2020 09:07:45 +0000 (10:07 +0100)
[ Upstream commit a6901d4d148dcbad7efb3174afbdf68c995618c2 ]

We can skip most of the initialisation, although spinlocks still
need explicit initialisation as architectures may use a non-zero
value to indicate unlocked.  The comment is no longer useful as
attach_page_private() handles the refcount now.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/iomap/buffered-io.c

index 897ab9a26a74c344083cc75af8b2f4345d4f1f16..b115e7d47fcec6c4cb81f3abedafb9641c614512 100644 (file)
@@ -49,16 +49,8 @@ iomap_page_create(struct inode *inode, struct page *page)
        if (iop || i_blocksize(inode) == PAGE_SIZE)
                return iop;
 
-       iop = kmalloc(sizeof(*iop), GFP_NOFS | __GFP_NOFAIL);
-       atomic_set(&iop->read_count, 0);
-       atomic_set(&iop->write_count, 0);
+       iop = kzalloc(sizeof(*iop), GFP_NOFS | __GFP_NOFAIL);
        spin_lock_init(&iop->uptodate_lock);
-       bitmap_zero(iop->uptodate, PAGE_SIZE / SECTOR_SIZE);
-
-       /*
-        * migrate_page_move_mapping() assumes that pages with private data have
-        * their count elevated by 1.
-        */
        attach_page_private(page, iop);
        return iop;
 }