diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-05-07 16:30:37 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-05-11 13:58:43 +0200 |
commit | 30d412469c930fe4150ad2b9a321eea2747ec6f4 (patch) | |
tree | d91c4bfaa8e968a6da87ba9b5860502758d4a26f /cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c | |
parent | pc386 - Clock driver compiles again plus clean up (diff) | |
download | rtems-30d412469c930fe4150ad2b9a321eea2747ec6f4.tar.bz2 |
Filesystem: PR1398: Fix lseek() mechanic
According to POSIX the lseek() function shall not, by itself, extend the
size of a file.
Remove the size field of rtems_libio_t. A file has only one size but
may have multiple open file descriptors. Thus a file size field in the
file descriptor may lead to inconsistencies.
New default handlers rtems_filesystem_default_lseek_file() and
rtems_filesystem_default_lseek_directory().
Diffstat (limited to 'cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c')
-rw-r--r-- | cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c b/cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c index d66e4296c5..0325885d84 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c @@ -214,24 +214,6 @@ rtems_rfs_rtems_device_ioctl (rtems_libio_t* iop, } /** - * This handler eats all lseek() operations and does not create an error. It - * assumes all devices can handle the seek. The writes fail. - * - * @param iop - * @param offset - * @param whence - * @return off_t - */ - -static off_t -rtems_rfs_rtems_device_lseek (rtems_libio_t* iop, - off_t offset, - int whence) -{ - return offset; -} - -/** * The consumes the truncate call. You cannot truncate device files. * * @param iop @@ -255,7 +237,7 @@ const rtems_filesystem_file_handlers_r rtems_rfs_rtems_device_handlers = { .read_h = rtems_rfs_rtems_device_read, .write_h = rtems_rfs_rtems_device_write, .ioctl_h = rtems_rfs_rtems_device_ioctl, - .lseek_h = rtems_rfs_rtems_device_lseek, + .lseek_h = rtems_filesystem_default_lseek_file, .fstat_h = rtems_rfs_rtems_fstat, .ftruncate_h = rtems_rfs_rtems_device_ftruncate, .fsync_h = rtems_filesystem_default_fsync_or_fdatasync, |