summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/dosfs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* dosfs: Remove fat_file_datasync()Sebastian Huber2012-05-118-179/+73
| | | | | | | | | | | | | | | The fat_file_datasync() read every cluster of the file into the cache and then synchronized it step-by-step. For unmodified buffers this is a non-operation. For modified buffers this will wake-up the swapout task which performs then a single buffer write operation. This is usually quite inefficient. Firstly we do single buffer writes, secondly we may perform a lot of unnecessary read operations (for huge files this is really bad), and thirdly this leads likely to cache evictions. The synchronization procedure is replaced by a simple rtems_bdbuf_sync_dev(). This has the side-effect that also buffers not related to the file are synchronized, but since the modified list is normally short this should be acceptable.
* Filesystem: PR1893: Fix write and truncate handlerSebastian Huber2012-05-118-34/+119
| | | | | Space that grows due to truncate or write offsets beyond the current file size must be zero filled.
* Filesystem: PR1871: Fix O_APPENDSebastian Huber2012-05-115-126/+6
|
* Filesystem: PR1398: Fix lseek() mechanicSebastian Huber2012-05-115-99/+3
| | | | | | | | | | | | 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().
* libblock: Change bdbuf APISebastian Huber2012-03-136-55/+61
| | | | | | | | | | | | | | | | | | | | The functions o rtems_bdbuf_get(), o rtems_bdbuf_read(), o rtems_bdbuf_syncdev(), and o rtems_bdbuf_purge_dev(), use now the disk device instead of the device identifier. This makes bdbuf independent of rtems_disk_obtain() and rtems_disk_release(). It is the responsiblity of the file system to obtain the disk device. This also reduces the overhead to get a buffer. The key for the AVL tree uses now the disk device instead of the device identifier. The pointer is interpreted as an unsigned integer. This reduces the memory overhead and makes the comparison operation a bit faster. Removed function rtems_bdbuf_purge_major(). This function was too destructive and could have unpredictable side effects.
* Filesystem: Reference counting for locationsSebastian Huber2012-03-1316-865/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o A new data structure rtems_filesystem_global_location_t was introduced to be used for o the mount point location in the mount table entry, o the file system root location in the mount table entry, o the root directory location in the user environment, and o the current directory location in the user environment. During the path evaluation global start locations are obtained to ensure that the current file system instance will be not unmounted in the meantime. o The user environment uses now reference counting and is protected from concurrent access. o The path evaluation process was completely rewritten and simplified. The IMFS, RFS, NFS, and DOSFS use now a generic path evaluation method. Recursive calls in the path evaluation have been replaced with iteration to avoid stack overflows. Only the evaluation of symbolic links is recursive. No dynamic memory allocations and intermediate buffers are used in the high level path evaluation. No global locks are held during the file system instance specific path evaluation process. o Recursive symbolic link evaluation is now limited by RTEMS_FILESYSTEM_SYMLOOP_MAX. Applications can retrieve this value via sysconf(). o The device file system (devFS) uses now no global variables and allocation from the workspace. Node names are allocated from the heap. o The upper layer lseek() performs now some parameter checks. o The upper layer ftruncate() performs now some parameter checks. o unmask() is now restricted to the RWX flags and protected from concurrent access. o The fchmod_h and rmnod_h file system node handlers are now a file system operation. o The unlink_h operation has been removed. All nodes are now destroyed with the rmnod_h operation. o New lock_h, unlock_h, clonenod_h, and are_nodes_equal_h file system operations. o The path evaluation and file system operations are now protected by per file system instance lock and unlock operations. o Fix and test file descriptor duplicate in fcntl(). o New test fstests/fsnofs01.
* Moved empty test in front of busy testsSebastian Huber2012-02-101-10/+10
|
* Check that the file offset is valid after a seekSebastian Huber2012-02-092-14/+8
|
* Removed fpathconf file system node handler.Sebastian Huber2012-02-022-2/+0
| | | | There existed no calling function for this handler.
* Remove all .cvsignore files.Joel Sherrill2012-02-011-4/+0
|
* Remove stray whitespaces.Ralf Corsepius2011-11-064-7/+7
|
* 2011-11-06 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-11-063-10/+10
| | | | | | | PR1945/cpukit * libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_file.c: Replace rtems_off64_t with off_t.
* 2011-10-20 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-10-201-2/+1
| | | | | * libfs/src/dosfs/msdos_file.c (msdos_file_datasync): Remove unused var "rc".
* 2011-07-21 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-07-211-2/+2
| | | | | | * libfs/src/dosfs/fat_file.c, libmisc/monitor/monitor.h, score/cpu/m68k/rtems/score/cpu.h: Remove stray spaces from unsigned32 to uint32_t conversion.
* 2011-07-21 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-07-212-5/+3
| | | | | | | | * libcsupport/include/rtems/libio_.h: Added rtems_filesystem_is_root_location(). * libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs_eval.c, libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_eval.c: Use rtems_filesystem_is_root_location().
* 2011-03-15 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-03-151-19/+16
| | | | | | | * libfs/src/dosfs/msdos_format.c: Address Coverity issue 183 which was where an expression evaluated to a constant and issue 185 which was a potential (although unlikely in expected usage) time-of-check, time-of-use race condition.
* 2011-02-23 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-231-3/+0
| | | | * libfs/src/dosfs/msdos_misc.c: Don't include <strings.h>.
* 2010-12-28 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-12-281-1/+1
| | | | | * libfs/src/dosfs/msdos_conv.c: Fixed convertion of half seconds to seconds.
* 2010-12-28 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-12-281-4/+14
| | | | | * libfs/src/dosfs/msdos_misc.c: Create short file names acceptable for Windows.
* 2010-12-27 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-12-273-6/+8
| | | | | | * libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_misc.c, libfs/src/dosfs/msdos_create.c: Create valid create and modfied date and time.
* 2010-11-25 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-11-251-1/+1
| | | | | | | | | | | | | | | | | | * libfs/src/dosfs/fat_file.c, libfs/src/imfs/imfs_debug.c, libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs_getchild.c, posix/src/killinfo.c, score/inline/rtems/score/schedulerpriority.inl, score/inline/rtems/score/watchdog.inl, score/src/apiext.c, score/src/chain.c, score/src/coremsgflushsupp.c, score/src/coremsginsert.c, score/src/objectshrinkinformation.c, score/src/schedulerpriorityyield.c, score/src/threadqdequeuepriority.c, score/src/threadqenqueuepriority.c, score/src/threadqextractpriority.c, score/src/threadqfirstfifo.c, score/src/threadqfirstpriority.c, score/src/threadyieldprocessor.c, score/src/userextthreadbegin.c, score/src/userextthreadcreate.c, score/src/userextthreaddelete.c, score/src/userextthreadrestart.c, score/src/userextthreadstart.c, score/src/userextthreadswitch.c, score/src/watchdogreportchain.c: Avoid chain API violations.
* 2010-08-23 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-08-231-1/+1
| | | | | * libblock/src/flashdisk.c, libblock/src/nvdisk.c, libcsupport/src/ioctl.c, libfs/src/dosfs/fat_file.c: Add va_end().
* 2010-08-23 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-08-233-7/+11
| | | | | | | | | | CID 99 CID 100 CID 101 CID 102 * libfs/src/dosfs/fat_file.c, libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_misc.c: Resolve invalid use of const identified by Coverity scanner.
* 2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-07-152-12/+12
| | | | | | | | | | | | | | | | | | | | | * libcsupport/include/rtems/libio.h: Removed file_info and handlers fields in rtems_libio_t. * libcsupport/src/close.c, libcsupport/src/fcntl.c, libcsupport/src/fdatasync.c, libcsupport/src/fstat.c, libcsupport/src/fsync.c, libcsupport/src/ftruncate.c, libcsupport/src/getdents.c, libcsupport/src/ioctl.c, libcsupport/src/libio_sockets.c, libcsupport/src/lseek.c, libcsupport/src/open.c, libcsupport/src/read.c, libcsupport/src/readv.c, libcsupport/src/write.c, libcsupport/src/writev.c, libfs/src/devfs/devclose.c, libfs/src/devfs/devioctl.c, libfs/src/devfs/devopen.c, libfs/src/devfs/devread.c, libfs/src/devfs/devwrite.c libfs/src/dosfs/msdos_dir.c libfs/src/dosfs/msdos_file.c libfs/src/imfs/deviceio.c libfs/src/imfs/imfs_directory.c libfs/src/imfs/imfs_fifo.c libfs/src/imfs/memfile.c libfs/src/nfsclient/src/nfs.c libfs/src/rfs/rtems-rfs-rtems-file.c libfs/src/rfs/rtems-rfs-rtems.h libnetworking/lib/ftpfs.c: Reflect changes above.
* 2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-07-151-1/+1
| | | | | | | | | | | | | | | | * libcsupport/include/rtems/libio.h: Changed rtems_filesystem_node_types_t to an enum. Declare rtems_filesystem_handlers_default, rtems_filesystem_operations_default, rtems_filesystem_default_evalpath(), rtems_filesystem_default_evalformake, and rtems_filesystem_default_node_type(). * libfs/src/dosfs/msdos.h: Fixed msdos_node_type() prototype. * libfs/src/defaults/default_evalformake.c, libfs/src/defaults/default_handlers.c, libfs/src/defaults/default_node_type.c, libfs/src/defaults/default_ops.c: New files. * libfs/Makefile.am: Reflect changes above.
* 2010-07-04 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-07-0410-10/+0
| | | | | | | | | | | | | | | | * libblock/include/rtems/ide_part_table.h, libblock/src/bdbuf.c, libcsupport/src/__times.c, libcsupport/src/libio_init.c, libcsupport/src/mallocfreespace.c, libcsupport/src/mount-mgr.c, libcsupport/src/mount.c, libcsupport/src/rewinddir.c, libcsupport/src/seekdir.c, libcsupport/src/telldir.c, libcsupport/src/unmount.c, libfs/src/dosfs/fat.c, libfs/src/dosfs/fat_fat_operations.c, libfs/src/dosfs/msdos_create.c, libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_eval.c, libfs/src/dosfs/msdos_file.c, libfs/src/dosfs/msdos_format.c, libfs/src/dosfs/msdos_fsunmount.c, libfs/src/dosfs/msdos_initsupp.c, libfs/src/dosfs/msdos_rename.c, libmisc/cpuuse/cpuusagereport.c, libmisc/shell/vis.c, libmisc/stackchk/check.c, sapi/src/posixapi.c, telnetd/telnetd.c: Remove include of assert.h when it is not needed.
* 2010-07-01 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2010-07-012-7/+7
| | | | | | | | | | | | | * libfs/src/dosfs/msdos_handlers_dir.c, libfs/src/dosfs/msdos_handlers_file.c, libfs/src/imfs/imfs_fifo.c, libfs/src/imfs/imfs_handlers_device.c, libfs/src/imfs/imfs_handlers_directory.c, libfs/src/imfs/imfs_handlers_link.c, libfs/src/imfs/imfs_handlers_memfile.c, libfs/src/imfs/miniimfs_init.c, libfs/src/rfs/rtems-rfs-rtems-dev.c, libfs/src/rfs/rtems-rfs-rtems-dir.c, libfs/src/rfs/rtems-rfs-rtems-file.c: Turn NULLs into default handlers.
* 2010-06-29 Jennifer.Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2010-06-291-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | * libcsupport/include/rtems/libio.h, libfs/Makefile.am, libfs/src/defaults/default_chown.c, libfs/src/defaults/default_evalpath.c, libfs/src/defaults/default_freenode.c, libfs/src/defaults/default_fsmount.c, libfs/src/defaults/default_link.c, libfs/src/defaults/default_mount.c, libfs/src/defaults/default_rename.c, libfs/src/defaults/default_statvfs.c, libfs/src/defaults/default_symlink.c, libfs/src/defaults/default_unlink.c, libfs/src/defaults/default_utime.c, libfs/src/devfs/devfs_init.c, libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs_init.c, libfs/src/nfsclient/src/nfs.c, libfs/src/rfs/rtems-rfs-rtems.c, wrapup/Makefile.am: Fixed typo in default names. Added default methods into filesystem tables. * libfs/src/defaults/default_close.c, libfs/src/defaults/default_evaluate_link.c, libfs/src/defaults/default_fpathconf.c, libfs/src/defaults/default_fsunmount.c, libfs/src/defaults/default_open.c, libfs/src/defaults/default_unmount.c: New files.
* 2010-05-31 Chris Johns <chrisj@rtems.org>Chris Johns2010-05-313-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libcsupport/Makefile.am: Add mount-mgr.c. * libcsupport/src/mount-mgr.c: New. * include/rtems/fs.h: Added rtems_filesystem_location_mount. * libcsupport/include/rtems/libio.h, libcsupport/src/mount.c: New mount interface. It is similar to Linux. * libcsupport/include/rtems/libio_.h: Remove the init_fs_mount_table call. * libcsupport/src/base_fs.c: Remove init_fs_mount_table_call. Use the new mount call. Remove setting the root node in the global pathloc. Mount does this now. * libcsupport/src/privateenv.c: Remove the hack to set the root mount table entry in the environment. * libcsupport/src/unmount.cL Free the target string. * libblock/src/bdpart-mount.c: New mount API. * libfs/src/devfs/devfs.h, libfs/src/devfs/devfs_init.c, libfs/src/dosfs/dosfs.h, libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs.h, libfs/src/imfs/imfs_eval.c, libfs/src/imfs/imfs_init.c, libfs/src/imfs/miniimfs_init.c, libfs/src/nfsclient/src/librtemsNfs.h, libfs/src/rfs/rtems-rfs-rtems.c, libfs/src/rfs/rtems-rfs.h, libnetworking/lib/ftpfs.c, libnetworking/rtems/ftpfs.h, libnetworking/rtems/tftp.h: New mount_h API. * libfs/src/devfs/devfs_eval.c: Local include of extern ops. * libfs/src/nfsclient/src/nfs.c: New mount API. Removed the mount me call and fixed the initialisation to happen when mounting. * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Remove mount filesystem files. * libmisc/fsmount/fsmount.c, libmisc/fsmount/fsmount.h: Updated to the new mount table values. * libmisc/shell/main_mount_ftp.c, libmisc/shell/main_mount_msdos.c, libmisc/shell/main_mount_rfs.c, libmisc/shell/main_mount_tftp.c: Removed. * libmisc/shell/main_mount.c: Use the new mount API. Also access the file system table for the file system types. * libnetworking/lib/tftpDriver.c: Updated to the new mount API. Fixed to allow mounting from any mount point. Also can now have more than file system mounted. * sapi/include/confdefs.h: Add file system configuration support.
* 2010-05-27 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2010-05-272-2/+2
| | | | | * libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_eval.c: Use size_t instead of int for pathnamelen.
* 2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-04-301-0/+1
| | | | * libfs/src/dosfs/msdos_format.c: Added missing va_end().
* 2010-03-30 Chris Johns <chrisj@rtems.org>Chris Johns2010-03-301-12/+79
| | | | * libfs/src/dosfs/msdos_misc.c: Fix PR1491.
* 2010-03-26 Chris Johns <chrisj@rtems.org>Chris Johns2010-03-261-11/+11
| | | | * libfs/src/dosfs/msdos_misc.c: Part fix to PR1491.
* 2010-03-12 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-03-123-5/+5
| | | | | | | | | | | | | | | | | | | * ftpd/ftpd.c, httpd/asp.c, httpd/ejparse.c, httpd/emfdb.c, httpd/misc.c, httpd/um.c, httpd/webs.c, httpd/websuemf.c, libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_format.c, libfs/src/dosfs/msdos_misc.c, libfs/src/nfsclient/src/nfs.c, libmisc/capture/capture-cli.c, libmisc/monitor/mon-network.c, libmisc/shell/hexdump-odsyntax.c, libmisc/shell/main_ifconfig.c, libmisc/shell/shell.c, libmisc/shell/shell_makeargs.c, libmisc/uuid/parse.c, libnetworking/libc/gethostbydns.c, libnetworking/libc/gethostbyht.c, libnetworking/libc/gethostnamadr.c, libnetworking/libc/getnetnamadr.c, libnetworking/libc/inet_addr.c, libnetworking/libc/inet_network.c, libnetworking/libc/res_debug.c, libnetworking/libc/res_init.c, libnetworking/libc/res_query.c, libnetworking/rtems/rtems_mii_ioctl.c, score/src/objectgetnameasstring.c: Readdress use of ctype methods per recommendation from D.J. Delorie on the newlib mailing list. We should pass an unsigned char into these methods.
* Do not overwrite errno in case fat_file_write() returns with an error status.Thomas Doerfler2010-03-121-2/+6
|
* 010-03-04 Chris Johns <chrisj@rtems.org>Chris Johns2010-03-048-119/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libcsupport/include/rtems/libio.h, libcsupport/src/_rename_r.c: Add a rename file op and have rename use it. * libfs/Makefile.am, libfs/src/dosfs/msdos_rename.c, libfs/src/imfs/imfs_rename.c: New files to support the rename file op. * libfs/src/imfs/imfs.h: Add rename interface. * libfs/src/imfs/imfs_init.c: Add rename handler. * libfs/src/imfs/miniimfs_init.c: Fix up ops struct. * libfs/src/dosfs/msdos.h: Add msdos_rename and remove msdos_file_link. * libfs/src/dosfs/msdos_create.c: Remove the link call. * libfs/src/dosfs/msdos_eval.c: Fix a path parsing bug. * libfs/src/dosfs/msdos_init.c: Add rename handler and clean up the struct naming. * libfs/src/rfs/rtems-rfs-link.c, libfs/src/rfs/rtems-rfs-link.h: Change the link call to allow linking of directories if told to and change the unlink to handle unlink directories that are not empty so rename can be supported. * libfs/src/rfs/rtems-rfs-rtems-dir.c: Fix the link/unlink calls. * libfs/src/rfs/rtems-rfs-rtems.c: Add a rename handler. Fix the link/unlink calls. * libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_format.c, libfs/src/dosfs/msdos_misc.c, httpd/asp.c, libfs/src/nfsclient/src/nfs.c: Work around a newlib warning when using the is*() family of calls.
* 2010-02-24 Chris Johns <chrisj@rtems.org>Chris Johns2010-02-241-1/+1
| | | | | | | * libmisc/shell/main_msdosfmt.c, libmisc/shell/shellconfig.h: Fix the alias as I did understand how it worked. * libfs/src/dosfs/msdos_format.c: Test for a block device.
* 2010-02-20 Chris Johns <chrisj@rtems.org>Chris Johns2010-02-201-3/+3
| | | | | | * libfs/src/dosfs/fat.c, libfs/src/rfs/rtems-rfs-buffer.c: Block devices are now block device nodes and not character device nodes.
* 2009-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-12-171-3/+3
| | | | | | | | | * libcsupport/src/termios.c, libfs/src/dosfs/msdos_format.c, libfs/src/nfsclient/src/nfs.c, libfs/src/pipe/fifo.c, libnetworking/lib/rtems_bsdnet_ntp.c, libnetworking/lib/tftpDriver.c, libnetworking/rtems/rtems_glue.c, libnetworking/rtems/rtems_select.c: Eliminate uses of deprecated rtems_clock_get() and replace with properly typed routine.
* Whitespace removal.Ralf Corsepius2009-11-2910-159/+159
|
* 2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-11-091-1/+2
| | | | | * libfs/src/dosfs/msdos_format.c: Rework to avoid overflow on 16-bit targets.
* Use uint16_t instead of "unsigned short" to circumvent warning onRalf Corsepius2009-11-023-6/+6
| | | | 16bit targets.
* 2009-10-08 Chris Johns <chrisj@rtems.org>Chris Johns2009-10-083-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am, preinstall.am: Added statvfs.h. * libcsupport/Makefile.am: Add statvfs.c. * libcsupport/include/sys/statvfs.h, libcsupport/src/statvfs.c: New. * libcsupport/include/rtems/libio.h: Add a file system handler for the statvfs call. * libfs/src/devfs/devfs_init.c, libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs_init.c, libfs/src/nfsclient/src/nfs.c: Set the statvfs handler to NULL. * include/rtems/fs.h: Add a second node access field for the RFS file system to hold a directory offset while the existing field holds the inode number. This save a rescan of the directory when working with directories. * libblock/include/rtems/bdbuf.h: Added references and user fields to the buffer descriptor. * libblock/src/bdbuf.c: Added dynamic buffer support for different block sizes. Fixed a number of bugs. * libblock/src/blkdev.c: Release the disk device on an error. * libblock/src/diskdevs.c: Set the block size to the media block size during initialisation of the disk device. * libblock/src/flashdisk.c, libblock/src/nvdisk.c, libblock/src/ramdisk.c: Updated the drivers to handle variable block sizes. * libfs/src/dosfs/fat.c, libfs/src/dosfs/fat.h: Release any buffers when an error occurs. The FAT buffer layer hangs onto a single buffer while mounted. This should be fixed. * sapi/inline/rtems/chain.inl: Added rtems_chain_set_off_chain, rtems_chain_is_node_off_chain, and rtems_chain_previous. * score/inline/rtems/score/chain.inl: Added _Chain_Set_off_chain, and _Chain_Is_node_off_chain. * libmisc/shell/main_ln.c, libmisc/shell/main_mknod.c, libmisc/shell/mknod-pack_dev.c, libmisc/shell/mknod-pack_dev.h: New shell commands. * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Added ln and mknod commands. * libmisc/shell/hexdump-display.c: Fixed the reopen bug which showed up as a free with a bad pointer. * libmisc/shell/main_mount.c: List the user adding file system when listing the available file systems to mount. * libmisc/shell/utils-cp.c: Remove the fixed static copy buffer and use a large dynamic buffer. * score/inline/rtems/score/address.inl, score/src/coremsgsubmit.c, score/src/objectallocate.c, score/src/objectfree.c: Remove warnings.
* 2009-06-12 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-06-122-4/+4
| | | | | | | | * libblock/src/flashdisk.c, libblock/src/nvdisk.c, libblock/src/ramdisk.c, libfs/src/dosfs/fat.c, libfs/src/dosfs/msdos_format.c: Eliminate using the GNU/Linux specific error numbers EBADRQC and ENOTBLK. Switch to EINVAL and ENOTTY as appropriate.
* 2009-06-12 Chris Johns <chrisj@rtems.org>Chris Johns2009-06-128-16/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libblock/src/bdbuf.c: Update comments. * libblock/src/bdpart.c, libblock/src/ide_part_table.c: Get the device from the rdev field of the stat buf. * libcsupport/include/rtems/libio.h: Add a path length to evalpath handler. Add parent locations to rmmod and unlink handlers. * libcsupport/include/rtems/libio_.h: Add a path length to rtems_filesystem_evaluate_path. Add rtems_filesystem_evaluate_relative_path, rtems_filesystem_dirname, and rtems_filesystem_prefix_separators. Remove rtems_filesystem_evaluate_parent. * libcsupport/src/base_fs.c, libcsupport/src/chdir.c, libcsupport/src/chmod.c, libcsupport/src/chown.c, libcsupport/src/chroot.c, libcsupport/src/fchdir.c, libcsupport/src/link.c, libcsupport/src/mount.c, libcsupport/src/open.c, libcsupport/src/privateenv.c, libcsupport/src/readlink.c, libcsupport/src/unmount.c, libcsupport/src/utime.c, libcsupport/src/unmount.c, libcsupport/src/utime.c, libfs/src/devfs/devfs.h, libfs/src/devfs/devfs_eval.c, libfs/src/devfs/devstat.c, libfs/src/dosfs/msdos_create.c, libfs/src/dosfs/msdos_misc.c, libfs/src/imfs/imfs.h, libfs/src/imfs/imfs_eval.c, libfs/src/imfs/imfs_load_tar.c, libfs/src/imfs/ioman.c, libfs/src/pipe/pipe.c, libmisc/fsmount/fsmount.c, libnetworking/lib/ftpfs.c: Add the length parameter to the eval call. * libcsupport/src/eval.c: Add rtems_filesystem_prefix_separators, rtems_filesystem_dirname, rtems_filesystem_evaluate_relative_path. Add the length parameter to the eval call. * libcsupport/src/rmdir.c: Find the parent pathloc then the node pathloc from that node. Remove the call to find the parent given the node pathloc. * libcsupport/src/stat.c: Add the length parameter to the eval call. Set the device into the rdev field. * libcsupport/src/unlink.c: Find the parent pathloc then the node pathloc from that node. Remove the call to find the parent given the node pathloc. * libfs/src/dosfs/fat.c, libfs/src/dosfs/msdos_format.c: Get the disk device number from the stat rdev field. * libfs/src/dosfs/msdos.h: Add the length parameter to the eval call. Add the parent pathloc to the rmnod handler. * libfs/src/dosfs/msdos_dir.c: Add the parent pathloc to the rmnod handler. * libfs/src/dosfs/msdos_eval.c: Add the length parameter to the eval and token call. * libfs/src/imfs/imfs_directory.c: Add the parent pathloc to the rmnod handler. * libfs/src/imfs/imfs_fchmod.c: Do not test the mode flags for only the allowed flags. Add the missing flags spec'ed in the POSIX standard. * libfs/src/imfs/imfs_fsunmount.c, libfs/src/imfs/imfs_rmnod.c, libfs/src/imfs/imfs_unlink.c, libfs/src/imfs/memfile.c: Add the parent node. Currently ignored in the IMFS. * libfs/src/imfs/imfs_stat.c: Return the device number in the rdev field. * libfs/src/imfs/imfs_mknod.c, libfs/src/imfs/imfs_symlink.c : Add the length parameter to the token call. * libfs/src/nfsclient/src/nfs.c: Add the length parameter to the eval call and parent node to the rmnod and unlink command. * libmisc/shell/internal.h: Remove the libc mounter decl to make public. * libmisc/shell/main_mount.c: Add support for hooking external mount support for new file systems. * libmisc/shell/shell.h: Add helper functions for the mount command.
* Added check for NULL.Thomas Doerfler2009-05-051-1/+1
|
* 2009-04-29 Chris Johns <chrisj@rtems.org>Chris Johns2009-04-2917-533/+1662
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libcsupport/include/rtems/libio.h: Add rtems_off64_t for internal use. Update the internal off_t to the 64bit offset. * libnetworking/lib/ftpfs.c, libnetworking/lib/tftpDriver.c, libfs/src/nfsclient/src/nfs.c, libfs/src/imfs/imfs_fifo.c, libfs/src/imfs/memfile.c, libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs.h, libfs/src/imfs/deviceio.c: Change off_t to rtems_off64_t. * libmisc/shell/main_msdosfmt.c: Add an info level so the format code can tell the user what is happening. Add more options to control the format configuration. * libfs/src/dosfs/msdos_format.c: Add a print function to display the format progress and print statements. Select a better default cluster size depending on the size of the disk. This lowers the size of the FAT on large disks. Read and maintain the MRB partition information. * libfs/src/dosfs/dosfs.h, libfs/src/dosfs/fat.h, libfs/src/dosfs/fat_file.c, libfs/src/dosfs/fat_file.h, libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_conv.c, libfs/src/dosfs/msdos_create.c, libfs/src/dosfs/msdos_file.c, libfs/src/dosfs/msdos_handlers_dir.c, libfs/src/dosfs/msdos_handlers_file.c, libfs/src/dosfs/msdos_init.c, libfs/src/dosfs/msdos_initsupp.c, libfs/src/dosfs/msdos_misc.c, libfs/src/dosfs/msdos_mknod.c: Add long file name support. Change off_t to rtems_off64_t.
* 2009-03-09 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-03-094-6/+6
| | | | | | | | | | PR 1376/filesystem * libcsupport/include/rtems/libio.h, libfs/src/dosfs/fat_file.c, libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_file.c, libfs/src/imfs/deviceio.c, libfs/src/imfs/imfs.h, libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs_fifo.c, libfs/src/imfs/memfile.c, libfs/src/nfsclient/src/nfs.c: lseek handlers should return off_t.
* Move extern "C" brace after includes.Ralf Corsepius2009-02-042-8/+9
|
* 2009-01-29 Gene Smith <gene.smith@siemens.com>Joel Sherrill2009-01-291-1/+1
| | | | | | PR 1363/filesystem * libfs/src/dosfs/fat.h: Fix issue where 32 bit values are not written correctly in FAT f/s data.