diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-06-03 19:27:38 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-06-03 19:27:38 +0000 |
commit | 69981587273b049826fcd992a1ffe9fd5b8eff9b (patch) | |
tree | 900303e00b348efcdc7b618df605a1affd656b0b | |
parent | 8774fddf30cd8955b69fd4eb90862c3101cc659a (diff) |
2009-06-03 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1421/filesystem
* libfs/src/imfs/deviceio.c, libfs/src/imfs/imfs.h,
libfs/src/imfs/imfs_handlers_device.c: Backport ftruncate support for
devices so fopen(device, w) works.
-rw-r--r-- | cpukit/ChangeLog | 7 | ||||
-rw-r--r-- | cpukit/libfs/src/imfs/deviceio.c | 9 | ||||
-rw-r--r-- | cpukit/libfs/src/imfs/imfs.h | 5 | ||||
-rw-r--r-- | cpukit/libfs/src/imfs/imfs_handlers_device.c | 2 |
4 files changed, 22 insertions, 1 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index b7efc5e9bd..8bc2e1d3d2 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,10 @@ +2009-06-03 Joel Sherrill <joel.sherrill@OARcorp.com> + + PR 1421/filesystem + * libfs/src/imfs/deviceio.c, libfs/src/imfs/imfs.h, + libfs/src/imfs/imfs_handlers_device.c: Backport ftruncate support for + devices so fopen(device, w) works. + 2009-05-28 Joel Sherrill <joel.sherrill@OARcorp.com> PR 1415/cpukit diff --git a/cpukit/libfs/src/imfs/deviceio.c b/cpukit/libfs/src/imfs/deviceio.c index e088a7f8d7..e6a4dd6e0f 100644 --- a/cpukit/libfs/src/imfs/deviceio.c +++ b/cpukit/libfs/src/imfs/deviceio.c @@ -255,3 +255,12 @@ off_t device_lseek( * * The IMFS_rmnod() is used. */ + +int device_ftruncate( + rtems_libio_t *iop, + off_t length +) +{ + return 0; +} + diff --git a/cpukit/libfs/src/imfs/imfs.h b/cpukit/libfs/src/imfs/imfs.h index 25736b394d..a7f4cb43b4 100644 --- a/cpukit/libfs/src/imfs/imfs.h +++ b/cpukit/libfs/src/imfs/imfs.h @@ -480,6 +480,11 @@ off_t device_lseek( int whence /* IN */ ); +int device_ftruncate( + rtems_libio_t *iop, /* IN */ + off_t length /* IN */ +); + int IMFS_utime( rtems_filesystem_location_info_t *pathloc, /* IN */ time_t actime, /* IN */ diff --git a/cpukit/libfs/src/imfs/imfs_handlers_device.c b/cpukit/libfs/src/imfs/imfs_handlers_device.c index fa373b8b91..db8238d855 100644 --- a/cpukit/libfs/src/imfs/imfs_handlers_device.c +++ b/cpukit/libfs/src/imfs/imfs_handlers_device.c @@ -32,7 +32,7 @@ rtems_filesystem_file_handlers_r IMFS_device_handlers = { device_lseek, IMFS_stat, IMFS_fchmod, - NULL, /* ftruncate */ + device_ftruncate, NULL, /* fpathconf */ NULL, /* fsync */ NULL, /* fdatasync */ |