Joel Sherrill
a0756c9aa0
2000-10-24 Joel Sherrill <joel@OARcorp.com>
...
* src/imfs/imfs_config.c: New file containing IMFS configuration
information split from libc/base_fs.c.
* src/imfs/ioman.c: New file. Moved from lib/libc. Missed previously.
* src/imfs/Makefile.am: Added imfs_config.c and ioman.c.
2000-10-25 16:51:22 +00:00
Joel Sherrill
7ec7cf7491
2000-10-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
...
* Makefile.am, configure.in: Introduce GNU canonicalization to libfs/.
The approach is currently a bit of a hack as GNU canonicalization
does not support the per-BSP build some of the other directories
require. As more of the tree is converted, this will become less
of an issue.
2000-10-24 22:06:00 +00:00
Joel Sherrill
5b59c4d46a
2000-10-19 Joel Sherrill <joel@OARcorp.com>
...
* .cvsignore, src/.cvsignore, src/imfs/.cvsignore, wrapup/.cvsignore:
New files.
2000-10-19 15:52:22 +00:00
Joel Sherrill
d71c6c1f0e
2000-10-18 Chris Johns <ccj@acm.org>
...
* libfs created.
* src, src/imfs, wrapup: New directories.
* ChangeLog, Makefile.am, README, configure.in, src/Makefile.am,
wrapup/Makefile.am: New files.
* src/imfs/deviceio.c, src/imfs/imfs_getchild.c,
src/imfs/imfs_readlink.c, src/imfs/imfs.h, src/imfs/imfs_gtkn.c,
src/imfs/imfs_rmnod.c, src/imfs/imfs_chown.c,
src/imfs/imfs_handlers_device.c, src/imfs/imfs_stat.c,
src/imfs/imfs_creat.c, src/imfs/imfs_handlers_directory.c,
src/imfs/imfs_symlink.c, src/imfs/imfs_debug.c,
src/imfs/imfs_handlers_link.c, src/imfs/imfs_unixstub.c,
src/imfs/imfs_directory.c, src/imfs/imfs_handlers_memfile.c,
src/imfs/imfs_unlink.c, src/imfs/imfs_eval.c, src/imfs/imfs_init.c,
src/imfs/imfs_unmount.c, src/imfs/imfs_fchmod.c,
src/imfs/imfs_initsupp.c, src/imfs/imfs_utime.c, src/imfs/imfs_fcntl.c,
src/imfs/imfs_link.c, src/imfs/memfile.c, src/imfs/imfs_fdatasync.c,
src/imfs/imfs_mknod.c, src/imfs/miniimfs_init.c, src/imfs/imfs_free.c,
src/imfs/imfs_mount.c, src/imfs/imfs_fsunmount.c, src/imfs/imfs_ntype.c:
New files. Moved from libc.
2000-10-18 18:10:55 +00:00
Joel Sherrill
9c3fa30a11
2000-09-28 Joel Sherrill <joel@OARcorp.com>
...
* libc/libio.h (rtems_filesystem_file_handlers_r,
rtems_filesystem_operations_table): Added _h to all structure
fields to indicate they are "handlers".
* libc/libio_.h, libc/chdir.c, libc/chmod.c, libc/chown.c,
libc/close.c, libc/eval.c, libc/fchdir.c, libc/fchmod.c,
libc/fcntl.c, libc/fdatasync.c, libc/fstat.c, libc/fsync.c,
libc/ftruncate.c, libc/getdents.c, libc/imfs_eval.c,
libc/imfs_unlink.c, libc/ioctl.c, libc/ioman.c, libc/link.c,
libc/lseek.c, libc/mknod.c, libc/mount.c, libc/open.c, libc/read.c,
libc/readlink.c, libc/rmdir.c, libc/stat.c, libc/symlink.c,
libc/unlink.c, libc/unmount.c, libc/utime.c, libc/write.c:
Modified to reflect above name change.
2000-09-28 20:19:23 +00:00
Joel Sherrill
662678d1d9
2000-08-25 Joel Sherrill <joel.sherrill@OARcorp.com>
...
* libc/isatty.c, libc/imfs_handlers_directory.c, libc/creat.c,
libc/imfs_directory.c: Fixed style issues.
2000-08-25 13:13:57 +00:00
Joel Sherrill
dd19c0bb06
2000-08-11 Chris Johns <ccj@acm.org>
...
* libc/chmod.c: Return ENOTSUP if filesystem does not have handler.
* libc/eval.c: Ditto.
* libc/fcntl.c: Ditto.
* libc/fsync.c: Ditto.
* libc/ioctl.c: Ditto.
* libc/ioman.c: Ditto.
* libc/link.c: Ditto.
* libc/memfile.c: Ditto.
* libc/mknod.c: Ditto.
* libc/symlink.c: Ditto.
* libc/libio.h(rtems_filesystem_dev_major_t): New macro.
* libc/libio.h(rtems_filesystem_dev_minor_t): New macro.
2000-08-11 20:04:27 +00:00
Joel Sherrill
3af082818e
Fixed stat_ino should be st_ino.
2000-07-02 12:29:47 +00:00
Joel Sherrill
068b64735c
Patch from Chris Johns <cjohns@cybertec.com.au> so the directory
...
read function in the IMFS properly returns the inode number.
2000-06-30 12:36:32 +00:00
Joel Sherrill
e5d6705e46
Patch from Chris Johns <cjohns@cybertec.com.au> to add support for
...
stat()'ing a symbolic link. This is needed to support the port
of the BSD commands like ls to RTEMS.
2000-06-30 12:33:13 +00:00
Joel Sherrill
e42a135973
Patch from Chris Johns <cjohns@cybertec.com.au> and
...
Jennifer Averett <jennifer.averett@oarcorp.com > to fix
appends (O_APPEND at open time) on in-memory files.
A call such as:
fd = open (file, O_APPEND | O_WRONLY);
did not append to the end of the file.
2000-06-26 14:49:58 +00:00
Joel Sherrill
5e0e012cda
Patch from Chris Johns <cjohns@cybertec.com.au> and
...
Jennifer Averett <jennifer.averett@oarcorp.com > to make sure
"/" is created with S_IFDIR set.
2000-06-26 14:46:19 +00:00
Joel Sherrill
df49c60c96
Merged from 4.5.0-beta3a
2000-06-12 15:00:15 +00:00
Joel Sherrill
562e7ed1ed
Increased block size to 128 and added comments based on feedback from
...
Java folks including Oscar Martinez de la Torre <omt@wm.estec.esa.nl >.
2000-02-11 15:54:47 +00:00
Joel Sherrill
3a8b95e207
Spacing corrected.
2000-01-05 21:32:57 +00:00
Joel Sherrill
08311cc3a9
Updated copyright notice.
1999-11-17 17:51:34 +00:00
Jennifer Averett
18c315533b
Added handler for fsync. For the memfile it is the same as the data sync.
1999-11-16 22:45:33 +00:00
Joel Sherrill
b440e57bdb
Added imfs_unixstub.c to satisfy linker problems on UNIX port.
1999-11-09 13:40:30 +00:00
Jennifer Averett
f758f8102a
Correctly set and called handlers table for the link.
1999-11-05 22:26:12 +00:00
Jennifer Averett
089ad91deb
Fixed comment
1999-11-05 22:25:16 +00:00
Jennifer Averett
7f6a07504e
Moved imfs set handlers prototype to the imfs.h file.
1999-11-05 22:24:56 +00:00
Joel Sherrill
378fe02519
New file.
1999-11-05 21:11:09 +00:00
Joel Sherrill
94b357c2b3
Unmount was failing as a side-effect of splitting the rmnod handler
...
and not handling every case properly.
1999-11-05 21:10:54 +00:00
Joel Sherrill
b568ccb745
The object memfile.o was being included in the miniIMFS even though it
...
should not have been. This required that IMFS_rmnod be split into
three separate (per file type) routines to avoid dependencies.
In the end, a miniIMFS application is 6K smaller than one using the
full IMFS.
1999-11-02 20:20:13 +00:00
Joel Sherrill
3fb2a8daf7
Fixed typo where memfile_handlers set twice and directory_handlers
...
was not set.
1999-11-02 16:23:50 +00:00
Joel Sherrill
ac8adcf06f
Properly initialize location variable.
1999-11-02 16:22:58 +00:00
Jennifer Averett
4a07d2b866
Moved the rmnod callback from the operations table to the handler table.
1999-10-29 15:19:13 +00:00
Joel Sherrill
79991746da
New files created by split of old imfs_handlers.c.
1999-10-26 21:51:20 +00:00
Joel Sherrill
657e1bf66b
Added initial cut at miniIMFS which leaves out memfile and directory
...
readdir support. The next step is to add a mount table and configure
either the miniIMFS or the full IMFS at the application level.
1999-10-26 20:17:13 +00:00
Joel Sherrill
1e57186135
Patch from Eric Valette <valette@crf.canon.fr> and Emmanuel Raguet
...
<raguet@crf.canon.fr > to use a local variable.
1999-10-25 14:46:56 +00:00
Joel Sherrill
c774a07e88
Changed leading spaces to periods to ease comparing test output.
1999-10-25 14:09:46 +00:00
Joel Sherrill
a6883c4eb9
Spacing.
1999-10-12 20:22:27 +00:00
Joel Sherrill
51435fc7c5
Split null handlers table to own file and renamed.
...
Renamed IMFS handler tables to include IMFS prefix.
1999-10-12 19:26:37 +00:00
Joel Sherrill
dd0f32614c
Added rtems_filesystem_freenode() macro and added calls at appropriate
...
places to make sure memory allocated for filesystem specifif nodes
gets freed.
1999-10-12 19:10:46 +00:00
Joel Sherrill
578a415014
Corrected mistakes in the IMFS file handlers table and added the missing
...
routine imfs_fcntl.c
1999-10-12 19:08:55 +00:00
Joel Sherrill
d71fcabaa6
Added call to freenod to let each filesystem free its own internal
...
node used to manage file access.
1999-10-12 18:44:40 +00:00
Joel Sherrill
0ac8e382e9
Warning removal from D. V. Henkel-Wallace <gumby@zembu.com>.
1999-06-14 19:44:07 +00:00
Joel Sherrill
556ea0e3ba
Removed usage of printf.
1999-05-27 16:12:20 +00:00
Jennifer Averett
ec2328eeaf
Removed asserts that shouldn't be called and commented case where this
...
indicates an internal error.
1999-03-31 23:24:57 +00:00
Joel Sherrill
b10f6e12e0
Corrected bug where pointer to doubly linked blocks was being incorrectly
...
calculated.
1999-03-08 21:39:39 +00:00
Joel Sherrill
3cf8394af5
Changed IMFS to use IMFS_NAME_MAX as the maximum length of a basename
...
rather then NAME_MAX. NAME_MAX is 255 and that lets IMFS chew up memory
too fast. Perhaps in the future, the places in IMFS that put a maximum
length name string on the stack and the jnode structure does not include
a maximu length name string can be fixed so this is not a problem.
1999-02-24 20:58:47 +00:00
Joel Sherrill
efb1b830bb
Corrected multiple places the file size was not being properly updated.
1999-02-10 17:04:54 +00:00
Joel Sherrill
2f87c84349
Corrected spacing and added some new error checks that were needed
...
to avoid dereferencing NULLs.
1999-02-05 00:28:43 +00:00
Jennifer Averett
a4e2f08c25
Added imfs_fdatasync routine that gets called from both fdatasync and datasync.
1998-12-03 22:19:06 +00:00
Jennifer Averett
49629bd8cb
Added a imfs fdatasync routine that gets called for fdatasync and datasync.
1998-12-03 22:17:46 +00:00
Jennifer Averett
7a3878b26f
Modifications for RTEMS_UNIX.
1998-12-03 22:17:13 +00:00
Joel Sherrill
07a3253de2
Added base version of file system infrastructure. This includes a major
...
overhaul of the RTEMS system call interface. This base file system is
the "In-Memory File System" aka IMFS.
The design and implementation was done by the following people:
+ Joel Sherrill (joel@OARcorp.com )
+ Jennifer Averett (jennifer@OARcorp.com )
+ Steve "Mr Mount" Salitasc (salitasc@OARcorp.com )
+ Kerwin Wade (wade@OARcorp.com )
PROBLEMS
========
+ It is VERY likely that merging this will break the UNIX port. This
can/will be fixed.
+ There is likely some reentrancy/mutual exclusion needed.
+ Eventually, there should be a "mini-IMFS" description table to
eliminate links, symlinks, etc to save memory. All you need to
have "classic RTEMS" functionality is technically directories
and device IO. All the rest could be left out to save memory.
1998-11-23 19:07:58 +00:00