ext2: Fix ki_pos update for DIO buffered-io fallback case
authorRitesh Harjani (IBM) <ritesh.list@gmail.com>
Wed, 22 Nov 2023 09:02:15 +0000 (14:32 +0530)
committerJan Kara <jack@suse.cz>
Wed, 22 Nov 2023 09:17:10 +0000 (10:17 +0100)
Commit "filemap: update ki_pos in generic_perform_write", made updating
of ki_pos into common code in generic_perform_write() function.
This also causes generic/091 to fail.
This happened due to an in-flight collision with:
fb5de4358e1a ("ext2: Move direct-io to use iomap"). I have chosen fixes tag
based on which commit got landed later to upstream kernel.

Fixes: 182c25e9c157 ("filemap: update ki_pos in generic_perform_write")
Cc: stable@vger.kernel.org
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Message-Id: <d595bee9f2475ed0e8a2e7fb94f7afc2c6ffc36a.1700643443.git.ritesh.list@gmail.com>

fs/ext2/file.c

index 1039e5b..4ddc36f 100644 (file)
@@ -258,7 +258,6 @@ static ssize_t ext2_dio_write_iter(struct kiocb *iocb, struct iov_iter *from)
                        goto out_unlock;
                }
 
-               iocb->ki_pos += status;
                ret += status;
                endbyte = pos + status - 1;
                ret2 = filemap_write_and_wait_range(inode->i_mapping, pos,