Commit Graph

20 Commits

Author SHA1 Message Date
Joel Sherrill
9063a0e3c9 2010-08-27 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1692/filesystem
	* libcsupport/include/rtems/libio.h, libfs/src/devfs/devfs_eval.c,
	libfs/src/imfs/imfs_eval.c: Fix implementation and use of
	rtems_libio_is_valid_perms().
2010-08-27 17:32:59 +00:00
Joel Sherrill
3364576344 2010-07-22 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1627/testing
	* libfs/src/devfs/devstat.c:
2010-07-23 00:11:32 +00:00
Sebastian Huber
fd2b1634bb 2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* 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-15 08:10:48 +00:00
Sebastian Huber
106d8f5e74 2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libfs/src/devfs/devfs.h, libfs/src/devfs/devfs_node_type.c: Fixed
	devFS_node_type() prototype.
2010-07-15 07:59:57 +00:00
Jennifer Averett
dace9ed18b 2010-06-29 Jennifer.Averett <Jennifer.Averett@OARcorp.com>
* 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-06-29 19:37:28 +00:00
Ralf Corsepius
01f416029f 2010-06-12 Ralf Corsépius <ralf.corsepius@rtems.org>
* libfs/src/devfs/devfs.h, libfs/src/rfs/rtems-rfs-block-pos.h,
	libfs/src/rfs/rtems-rfs-block.h, libfs/src/rfs/rtems-rfs-dir.h,
	libfs/src/rfs/rtems-rfs-group.h, libfs/src/rfs/rtems-rfs-inode.h:
	Fix broken doxygen commands.
2010-06-12 05:18:16 +00:00
Sebastian Huber
78f4d6d72e 2010-06-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libfs/src/devfs/devclose.c, libfs/src/devfs/devopen.c,
	libfs/src/imfs/deviceerrno.c, libfs/src/imfs/deviceio.c,
	libfs/src/rfs/rtems-rfs-rtems-dev.c: Changed rtems_deviceio_errno() to
	cope with a status code of RTEMS_SUCCESSFUL.  Removed dependency on
	association framework.
2010-06-08 08:30:04 +00:00
Chris Johns
29e92b090c 2010-05-31 Chris Johns <chrisj@rtems.org>
* 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-31 13:56:37 +00:00
Ralf Corsepius
596bead519 2010-05-27 Ralf Corsépius <ralf.corsepius@rtems.org>
* libfs/src/devfs/devfs.h, libfs/src/devfs/devfs_eval.c:
	Use size_t instead of int for pathlen.
2010-05-27 16:20:44 +00:00
Ralf Corsepius
0a7278e497 Whitespace removal. 2009-11-29 13:20:53 +00:00
Ralf Corsepius
c0e2daedb1 Remove 2009-10-14 13:45:15 +00:00
Chris Johns
eb649786c8 2009-10-08 Chris Johns <chrisj@rtems.org>
* 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-10-08 07:07:36 +00:00
Joel Sherrill
d58ea3b065 2009-08-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* libfs/src/devfs/devfs.h: Fix spelling error.
2009-08-26 13:22:27 +00:00
Joel Sherrill
0d32490025 2009-08-25 Joel Sherrill <joel.sherrill@OARcorp.com>
* libfs/src/devfs/devfs_eval.c: Fix bug where use of strncmp() resulted
	in a partial match being considered a full name match. On ERC32,
	looking for /dev/console would match /dev/console_b first.
2009-08-25 13:45:30 +00:00
Chris Johns
7baa484300 2009-06-12 Chris Johns <chrisj@rtems.org>
* 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.
2009-06-12 01:53:33 +00:00
Ralf Corsepius
d934b686f2 Add missing "extern"s 2008-12-08 04:38:03 +00:00
Joel Sherrill
d120078564 2008-12-01 Joel Sherrill <joel.sherrill@OARcorp.com>
* libfs/Makefile.am: Add stub for devide filesystem for unix port.
	* libfs/src/devfs/devfs_unixstub.c: New file.
2008-12-01 17:37:01 +00:00
Joel Sherrill
ec9e8a9bae 2008-09-18 Miao Yan <yanmiaobest@gmail.com>
* libfs/src/devfs/devclose.c, libfs/src/devfs/devfs_eval.c,
	libfs/src/devfs/devioctl.c, libfs/src/devfs/devopen.c,
	libfs/src/devfs/devread.c, libfs/src/devfs/devwrite.c: Fix warnings.
2008-09-18 13:21:49 +00:00
Joel Sherrill
6a14d440bc 2008-09-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* libfs/src/devfs/devclose.c, libfs/src/devfs/devfs_init.c,
	libfs/src/devfs/devfs_show.c, libfs/src/devfs/devioctl.c,
	libfs/src/devfs/devopen.c, libfs/src/devfs/devread.c,
	libfs/src/devfs/devwrite.c: Fix warnings.
2008-09-17 19:14:20 +00:00
Joel Sherrill
d40da79b04 2008-09-17 Miao Yan <yanmiaobest@gmail.com>
* Makefile.am, preinstall.am, libcsupport/Makefile.am,
	libcsupport/include/rtems/libcsupport.h,
	libcsupport/include/rtems/libio.h, libcsupport/src/base_fs.c,
	libcsupport/src/libio_init.c, libcsupport/src/newlibc_exit.c,
	libcsupport/src/newlibc_init.c, libcsupport/src/sync.c,
	libfs/Makefile.am, libfs/src/imfs/deviceio.c,
	sapi/include/confdefs.h: Merge GSOC project code to add simple device
	only filesystem (devfs), optionally completely drop out filesystem,
	and to clean up disabling newlib reentrancy support. This dropped 17K
	from the minimum.exe for sparc/sis and arm/rtl22xx_t now has a 15K
	code space.
	* libcsupport/src/__usrenv.c, libcsupport/src/newlibc_reent.c,
	libfs/src/devfs/devclose.c, libfs/src/devfs/devfs.h,
	libfs/src/devfs/devfs_eval.c, libfs/src/devfs/devfs_init.c,
	libfs/src/devfs/devfs_mknod.c, libfs/src/devfs/devfs_node_type.c,
	libfs/src/devfs/devfs_show.c, libfs/src/devfs/devioctl.c,
	libfs/src/devfs/devopen.c, libfs/src/devfs/devread.c,
	libfs/src/devfs/devstat.c, libfs/src/devfs/devwrite.c,
	libfs/src/imfs/deviceerrno.c: New files.
	* libcsupport/src/newlibc.c: Removed.
2008-09-17 16:12:04 +00:00