summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-10 06:03:51 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-10 06:03:51 +0000
commit7c007cfe32f2e3951aa7311242dd451aa21e67c6 (patch)
tree61f44eb6c6c8be70dc426e922bdbf35e7d008856 /cpukit/libfs
parentModified error messages. Driver operations table is now constant. New (diff)
downloadrtems-7c007cfe32f2e3951aa7311242dd451aa21e67c6.tar.bz2
Added S_IRWXU, S_IRWXG and S_IRWXO to file mode.
Diffstat (limited to 'cpukit/libfs')
-rw-r--r--cpukit/libfs/src/dosfs/msdos_dir.c2
-rw-r--r--cpukit/libfs/src/dosfs/msdos_file.c2
-rw-r--r--cpukit/libfs/src/imfs/deviceio.c8
-rw-r--r--cpukit/libfs/src/imfs/imfs.h5
-rw-r--r--cpukit/libfs/src/imfs/imfs_handlers_device.c2
5 files changed, 16 insertions, 3 deletions
diff --git a/cpukit/libfs/src/dosfs/msdos_dir.c b/cpukit/libfs/src/dosfs/msdos_dir.c
index b73f278917..f76fa147a3 100644
--- a/cpukit/libfs/src/dosfs/msdos_dir.c
+++ b/cpukit/libfs/src/dosfs/msdos_dir.c
@@ -420,7 +420,7 @@ msdos_dir_stat(
buf->st_dev = fs_info->fat.vol.dev;
buf->st_ino = fat_fd->ino;
- buf->st_mode = S_IFDIR;
+ buf->st_mode = S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO;
buf->st_rdev = 0ll;
buf->st_size = fat_fd->fat_file_size;
buf->st_blocks = fat_fd->fat_file_size >> FAT_SECTOR512_BITS;
diff --git a/cpukit/libfs/src/dosfs/msdos_file.c b/cpukit/libfs/src/dosfs/msdos_file.c
index 35641e1687..95c8a8d1fa 100644
--- a/cpukit/libfs/src/dosfs/msdos_file.c
+++ b/cpukit/libfs/src/dosfs/msdos_file.c
@@ -280,7 +280,7 @@ msdos_file_stat(
buf->st_dev = fs_info->fat.vol.dev;
buf->st_ino = fat_fd->ino;
- buf->st_mode = S_IFREG;
+ buf->st_mode = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;
buf->st_rdev = 0ll;
buf->st_size = fat_fd->fat_file_size;
buf->st_blocks = fat_fd->fat_file_size >> FAT_SECTOR512_BITS;
diff --git a/cpukit/libfs/src/imfs/deviceio.c b/cpukit/libfs/src/imfs/deviceio.c
index 05edf454f7..d999171d0b 100644
--- a/cpukit/libfs/src/imfs/deviceio.c
+++ b/cpukit/libfs/src/imfs/deviceio.c
@@ -255,3 +255,11 @@ int 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 6f872e507c..bd56bd57f4 100644
--- a/cpukit/libfs/src/imfs/imfs.h
+++ b/cpukit/libfs/src/imfs/imfs.h
@@ -480,6 +480,11 @@ int 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 a1ed7ab912..4c265ea391 100644
--- a/cpukit/libfs/src/imfs/imfs_handlers_device.c
+++ b/cpukit/libfs/src/imfs/imfs_handlers_device.c
@@ -32,7 +32,7 @@ const rtems_filesystem_file_handlers_r IMFS_device_handlers = {
device_lseek,
IMFS_stat,
IMFS_fchmod,
- NULL, /* ftruncate */
+ device_ftruncate,
NULL, /* fpathconf */
NULL, /* fsync */
NULL, /* fdatasync */