Patch "iomap: update ki_pos a little later in iomap_dio_complete" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    iomap: update ki_pos a little later in iomap_dio_complete

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     iomap-update-ki_pos-a-little-later-in-iomap_dio_comp.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 2691949de4249f59486050000559e671bc2fc3f9
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Tue Oct 22 18:33:46 2024 +0200

    iomap: update ki_pos a little later in iomap_dio_complete
    
    upstream 936e114a245b6e38e0dbf706a67e7611fc993da1 commit.
    
    Move the ki_pos update down a bit to prepare for a better common helper
    that invalidates pages based of an iocb.
    
    Link: https://lkml.kernel.org/r/20230601145904.1385409-3-hch@xxxxxx
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Damien Le Moal <dlemoal@xxxxxxxxxx>
    Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
    Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx>
    Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
    Cc: Andreas Gruenbacher <agruenba@xxxxxxxxxx>
    Cc: Anna Schumaker <anna@xxxxxxxxxx>
    Cc: Chao Yu <chao@xxxxxxxxxx>
    Cc: Christian Brauner <brauner@xxxxxxxxxx>
    Cc: Ilya Dryomov <idryomov@xxxxxxxxx>
    Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
    Cc: Jens Axboe <axboe@xxxxxxxxx>
    Cc: Johannes Thumshirn <johannes.thumshirn@xxxxxxx>
    Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
    Cc: Miklos Szeredi <miklos@xxxxxxxxxx>
    Cc: Miklos Szeredi <mszeredi@xxxxxxxxxx>
    Cc: Theodore Ts'o <tytso@xxxxxxx>
    Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
    Cc: Xiubo Li <xiubli@xxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Mahmoud Adam <mngyadam@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c
index 933f234d5becd..8a49c0d3a7b46 100644
--- a/fs/iomap/direct-io.c
+++ b/fs/iomap/direct-io.c
@@ -93,7 +93,6 @@ ssize_t iomap_dio_complete(struct iomap_dio *dio)
 		if (offset + ret > dio->i_size &&
 		    !(dio->flags & IOMAP_DIO_WRITE))
 			ret = dio->i_size - offset;
-		iocb->ki_pos += ret;
 	}
 
 	/*
@@ -119,15 +118,18 @@ ssize_t iomap_dio_complete(struct iomap_dio *dio)
 	}
 
 	inode_dio_end(file_inode(iocb->ki_filp));
-	/*
-	 * If this is a DSYNC write, make sure we push it to stable storage now
-	 * that we've written data.
-	 */
-	if (ret > 0 && (dio->flags & IOMAP_DIO_NEED_SYNC))
-		ret = generic_write_sync(iocb, ret);
 
-	kfree(dio);
+	if (ret > 0) {
+		iocb->ki_pos += ret;
 
+		/*
+		 * If this is a DSYNC write, make sure we push it to stable
+		 * storage now that we've written data.
+		 */
+		if (dio->flags & IOMAP_DIO_NEED_SYNC)
+			ret = generic_write_sync(iocb, ret);
+	}
+	kfree(dio);
 	return ret;
 }
 EXPORT_SYMBOL_GPL(iomap_dio_complete);




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux