You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
commit aa9714d("Start with shared i_rwsem in case of DIO instead of exclusive")
allowed shared inode lock using in directio overwite case, that can improve
a lot performance for mixed read/write directio workload like database.
This feature was done from upstream when ext4 directio was already switched
to iomap infrastructure, but that had not been supported until uek7, one way
to do it is to backport the iomap feature to older uek, but that introduced
a lot of patches and has high risk especially the change is in io critical
path, it could introuduce corruption issue, so we decides to manually
refactor the directio path to resolve the dependency above patch requires.
For that, we need refactoring ext4_file_write_iter and split out two helpers,
one is ext4_buffered_write_iter, and another is ext4_dio_write_iter.
For the case that directio fallen into buffer io, dio helper will invoke
buffer io helper. That way we can release inode lock dio helper taken before
fallen into buffer io helper.
No function changes.
Orabug: 34405736
Signed-off-by: Junxiao Bi <[email protected]>
Reviewed-by: Darrick J. Wong <[email protected]>
Signed-off-by: Brian Maly <[email protected]>
0 commit comments