From 4116fce6290740b1bda8d546472e2f884a35099b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 24 Feb 2012 17:39:27 +0100 Subject: Filesystem: New defaults fsync_h and fdatasync_h New defaults rtems_filesystem_default_fsync_or_fdatasync() and rtems_filesystem_default_fsync_or_fdatasync_success() for fsync_h and fdatasync_h. The rtems_filesystem_default_fsync_or_fdatasync() sets now errno to EINVAL according to POSIX. --- cpukit/libcsupport/include/rtems/libio.h | 18 ++++++++++-------- cpukit/libcsupport/src/__usrenv.c | 4 ++-- 2 files changed, 12 insertions(+), 10 deletions(-) (limited to 'cpukit/libcsupport') diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h index d3efd4a204..57899096c3 100644 --- a/cpukit/libcsupport/include/rtems/libio.h +++ b/cpukit/libcsupport/include/rtems/libio.h @@ -900,7 +900,8 @@ typedef int (*rtems_filesystem_ftruncate_t)( * @retval 0 Successful operation. * @retval -1 An error occured. The errno is set to indicate the error. * - * @see rtems_filesystem_default_fsync(). + * @see rtems_filesystem_default_fsync_or_fdatasync() and + * rtems_filesystem_default_fsync_or_fdatasync_success(). */ typedef int (*rtems_filesystem_fsync_t)( rtems_libio_t *iop @@ -914,7 +915,8 @@ typedef int (*rtems_filesystem_fsync_t)( * @retval 0 Successful operation. * @retval -1 An error occured. The errno is set to indicate the error. * - * @see rtems_filesystem_default_fdatasync(). + * @see rtems_filesystem_default_fsync_or_fdatasync() and + * rtems_filesystem_default_fsync_or_fdatasync_success(). */ typedef int (*rtems_filesystem_fdatasync_t)( rtems_libio_t *iop @@ -1068,20 +1070,20 @@ int rtems_filesystem_default_ftruncate_directory( ); /** - * @retval -1 Always. The errno is set to ENOTSUP. + * @retval -1 Always. The errno is set to EINVAL. * - * @see rtems_filesystem_fsync_t. + * @see rtems_filesystem_fsync_t and rtems_filesystem_fdatasync_t. */ -int rtems_filesystem_default_fsync( +int rtems_filesystem_default_fsync_or_fdatasync( rtems_libio_t *iop ); /** - * @retval -1 Always. The errno is set to ENOTSUP. + * @retval 0 Always. * - * @see rtems_filesystem_fdatasync_t. + * @see rtems_filesystem_fsync_t and rtems_filesystem_fdatasync_t. */ -int rtems_filesystem_default_fdatasync( +int rtems_filesystem_default_fsync_or_fdatasync_success( rtems_libio_t *iop ); diff --git a/cpukit/libcsupport/src/__usrenv.c b/cpukit/libcsupport/src/__usrenv.c index d26e73658f..df9bdc54ab 100644 --- a/cpukit/libcsupport/src/__usrenv.c +++ b/cpukit/libcsupport/src/__usrenv.c @@ -47,8 +47,8 @@ const rtems_filesystem_file_handlers_r rtems_filesystem_null_handlers = { .lseek_h = rtems_filesystem_default_lseek, .fstat_h = null_handler_fstat, .ftruncate_h = rtems_filesystem_default_ftruncate, - .fsync_h = rtems_filesystem_default_fsync, - .fdatasync_h = rtems_filesystem_default_fdatasync, + .fsync_h = rtems_filesystem_default_fsync_or_fdatasync, + .fdatasync_h = rtems_filesystem_default_fsync_or_fdatasync, .fcntl_h = rtems_filesystem_default_fcntl }; -- cgit v1.2.3