]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commit
libext2fs: add threading support to the I/O manager abstraction
authorTheodore Ts'o <tytso@mit.edu>
Wed, 2 Dec 2020 04:16:28 +0000 (23:16 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 5 Dec 2020 03:12:09 +0000 (22:12 -0500)
commit02284891867d7dc2ebeb47afcd8db988a8401c3b
tree4f512344eed98733a68e0d4838b9614da076939e
parent3bfdba2cfd3c15bcfbb7137ad2e9919aff3527a9
libext2fs: add threading support to the I/O manager abstraction

Add initial implementation support for the unix_io manager.
Applications which want to use threading should pass in
IO_FLAG_THREADS when opening the channel.  Channels which support
threading (which as of this commit is unix_io and test_io if the
backing io_manager supports threading) will set the
CHANNEL_FLAGS_THREADS bit in io->flags.  Library code or applications
can test if threading is enabled by checking this flag.

Applications using libext2fs can pass in EXT2_FLAG_THREADS to
ext2fs_open() or ext2fs_open2() to request threading support.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
lib/ext2fs/ext2_io.h
lib/ext2fs/ext2fs.h
lib/ext2fs/openfs.c
lib/ext2fs/test_io.c
lib/ext2fs/undo_io.c
lib/ext2fs/unix_io.c