ext4: use io_end for multiple bios
authorJan Kara <jack@suse.cz>
Tue, 4 Jun 2013 15:58:58 +0000 (11:58 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 4 Jun 2013 15:58:58 +0000 (11:58 -0400)
commit97a851ed71cd9cc2542955e92a001c6ea3d21d35
tree32a881fb66aa9058c4cdb3d279925a492f3689ca
parent8af8eecc1331dbf5e8c662022272cf667e213da5
ext4: use io_end for multiple bios

Change writeback path to create just one io_end structure for the
extent to which we submit IO and share it among bios writing that
extent. This prevents needless splitting and joining of unwritten
extents when they cannot be submitted as a single bio.

Bugs in ENOMEM handling found by Linux File System Verification project
(linuxtesting.org) and fixed by Alexey Khoroshilov
<khoroshilov@ispras.ru>.

CC: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/inode.c
fs/ext4/page-io.c