From 2f68778f08471fb7f13a8634ebb48c6db13c0f69 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 16 Dec 2013 13:44:13 +0100 Subject: Filesystem: Add readv/writev handlers The readv() and writev() support was implemented in terms of multiple calls to the read and write handlers. This imposes a problem on device files which use an IO vector as single request entity. For example a low-level network device (e.g. BPF(4)) may use an IO vector to create one frame from multiple protocol layers each with its own IO vector entry. --- cpukit/libblock/src/blkdev-imfs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cpukit/libblock') diff --git a/cpukit/libblock/src/blkdev-imfs.c b/cpukit/libblock/src/blkdev-imfs.c index 256f90c539..48d551578f 100644 --- a/cpukit/libblock/src/blkdev-imfs.c +++ b/cpukit/libblock/src/blkdev-imfs.c @@ -220,7 +220,9 @@ static const rtems_filesystem_file_handlers_r rtems_blkdev_imfs_node = { .ftruncate_h = rtems_filesystem_default_ftruncate, .fsync_h = rtems_blkdev_imfs_fsync_or_fdatasync, .fdatasync_h = rtems_blkdev_imfs_fsync_or_fdatasync, - .fcntl_h = rtems_filesystem_default_fcntl + .fcntl_h = rtems_filesystem_default_fcntl, + .readv_h = rtems_filesystem_default_readv, + .writev_h = rtems_filesystem_default_writev }; static IMFS_jnode_t *rtems_blkdev_imfs_initialize( -- cgit v1.2.3