Commit Graph

290 Commits

Author SHA1 Message Date
Sebastian Huber
1680638ab6 2011-01-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libblock/src/blkdev-ops.c: New file.
	* libblock/Makefile.am: Reflect change from above.
	* libblock/include/rtems/blkdev.h: Declare rtems_blkdev_generic_ops.
2011-01-21 09:43:24 +00:00
Sebastian Huber
61380a5451 2011-01-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libblock/src/show_bdbuf.c, score/src/objectmp.c: Avoid chain API
	violations.
2011-01-20 08:16:15 +00:00
Sebastian Huber
d4d6bd813f 2010-08-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libblock/include/rtems/media.h, libblock/src/media-server.c: Use
	chains instead of a message queue.
2010-08-25 08:44:14 +00:00
Sebastian Huber
6ef96da17e 2010-08-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
CID 114/SECURE_CODING
	* libblock/src/media.c: Avoid strcpy().
2010-08-25 08:31:43 +00:00
Sebastian Huber
2b5bd836ce 2010-08-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
CID 113/SECURE_CODING
	* libblock/src/media-path.c: Avoid strcpy().  Style.  Use assert() to
	avoid dead code.
2010-08-25 08:26:21 +00:00
Joel Sherrill
bf4766fe69 2010-08-23 Joel Sherrill <joel.sherrill@oarcorp.com>
* libblock/src/flashdisk.c, libblock/src/nvdisk.c,
	libcsupport/src/ioctl.c, libfs/src/dosfs/fat_file.c: Add va_end().
2010-08-23 23:17:42 +00:00
Sebastian Huber
f6c33f3eef 2010-08-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libblock/src/media.c: Use unprotected chain extract.
2010-08-13 12:50:56 +00:00
Sebastian Huber
d91e3a71bb 2010-08-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libblock/include/rtems/media.h, libblock/src/media-desc.c,
	libblock/src/media-dev-ident.c, libblock/src/media-path.c,
	libblock/src/media-server.c, libblock/src/media.c: New files.
	* Makefile.am, preinstall.am, libblock/Makefile.am: Reflect changes
	above.
2010-08-13 12:40:16 +00:00
Joel Sherrill
71c012aff5 2010-07-04 Joel Sherrill <joel.sherrill@oarcorp.com>
* 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-04 14:53:47 +00:00
Joel Sherrill
15bcb4113c 2010-06-14 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1553/filesystem
	Coverity Id 37
	* libblock/src/flashdisk.c: Fix two paths which should have returned an
	error but did not have the return statement.
2010-06-14 13:01:58 +00:00
Sebastian Huber
eaee27b0b9 2010-06-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR 1524/filesystem
	* libcsupport/src/rtems_mkdir.c: New file.
	* libcsupport/src/Makefile.am: Reflect change above.
	* libcsupport/include/rtems/libio.h: Added rtems_mkdir().
	* libmisc/fsmount/fsmount.h, libmisc/fsmount/fsmount.c,
	libblock/src/bdpart-mount.c, libnetworking/rtems/mkrootfs.h,
	libnetworking/rtems/mkrootfs.c, libfs/src/pipe/pipe.c: Use
	rtems_mkdir().  Removed rtems_fsmount_create_mount_point() and
	rtems_rootfs_mkdir().
2010-06-08 12:59:51 +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
f22c1544c5 2010-05-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* libblock/include/rtems/nvdisk.h, libblock/src/nvdisk-sram.c:
	Use pointer arithmetic instead of int32_t arithmetic for 16bit
	compatibility.
2010-05-22 16:51:05 +00:00
Ralf Corsepius
b5926be790 2010-05-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* libblock/src/flashdisk.c, libblock/src/nvdisk.c:
	Cast argp to uintptr_t temporary instead of uint32_t temporary
	(Avoid incompatible pointer casts on 16bit targets).
2010-05-22 16:43:09 +00:00
Chris Johns
8aa608df32 2010-05-18 Chris Johns <chrisj@rtems.org>
* libblock/src/diskdevs.c, libblock/include/rtems/blkdev.h,
        libblock/src/bdbuf.c: PR 1448/filesystem.

        * libblock/include/rtems/blkdev.h, libblock/src/bdbuf.c: PR
        1514/filesystem.
2010-05-18 02:14:05 +00:00
Sebastian Huber
c8522fd2c4 2010-05-17 Oleg Kravtsov <Oleg.Kravtsov@oktetlabs.ru>
PR 1449/cpukit
	* libblock/src/diskdevs.c: rtems_disk_next() will now implicitly
	obtain the returned disk.
	* libblock/include/rtems/diskdevs.h: Documentation.
2010-05-17 08:08:30 +00:00
Chris Johns
470708dafe 2010-05-14 Chris Johns <chrisj@rtems.org>
* libblock/src/flashdisk.c: Clean up on initialisation errors.
2010-05-14 03:59:11 +00:00
Sebastian Huber
e682fffdb5 2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libblock/src/bdpart.c: Removed file.
	* libblock/src/bdpart-create.c, libblock/src/bdpart-dump.c,
	libblock/src/bdpart-mount.c, libblock/src/bdpart-read.c,
	libblock/src/bdpart-register.c, libblock/src/bdpart-sort.c,
	libblock/src/bdpart-write.c: New files.
	* libblock/include/rtems/bdpart.h: Moved some definitions from bdpart.c.
	* libblock/Makefile.am: Update for file changes.
2010-05-12 07:57:58 +00:00
Sebastian Huber
6780829037 2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libblock/src/bdpart.c: Removed file.
	* libblock/src/bdpart-create.c, libblock/src/bdpart-dump.c,
	libblock/src/bdpart-mount.c, libblock/src/bdpart-read.c,
	libblock/src/bdpart-register.c, libblock/src/bdpart-sort.c,
	libblock/src/bdpart-write.c: New files.
	* libblock/include/rtems/bdpart.h: Moved some definitions from bdpart.c.
	* libblock/Makefile.am: Update for file changes.
2010-04-30 08:42:13 +00:00
Sebastian Huber
b1d4e42edd 2010-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR1507
	* libblock/src/bdbuf.c: Avoid NULL pointer access.

	* libblock/src/diskdevs.c: Fixed bounds check in rtems_disk_next().
2010-04-29 11:34:59 +00:00
Thomas Doerfler
bdac0eed0c fixed disk delete
Obtain/release disk during open/close
2010-04-09 12:28:24 +00:00
Ralf Corsepius
694c3ac682 Add HAVE_CONFIG_H support to let files receive configure defines. 2010-03-28 03:14:08 +00:00
Joel Sherrill
00d170342a 2010-03-12 Joel Sherrill <joel.sherrill@oarcorp.com>
* libblock/src/ide_part_table.c: Functionality of
	rtems_ide_part_table_get() and rtems_ide_part_table_free() was needed
	internally but those routines are deprecated from the public API. So
	move their contents to private static routines. Using the private
	routines in this file avoids deprecation warnings and leaves
	functional, although deprecated, versions for potential use by
	applications.
2010-03-12 16:35:13 +00:00
Joel Sherrill
391b4dda25 2010-03-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* ftpd/ftpd.c, httpd/uemf.c, httpd/um.c, httpd/webs.c,
	httpd/websuemf.c, libblock/src/diskdevs.c,
	libmisc/capture/capture-cli.c, libmisc/monitor/mon-network.c,
	libmisc/shell/hexdump-odsyntax.c, libmisc/shell/main_ifconfig.c,
	libmisc/uuid/parse.c, libnetworking/lib/ftpfs.c,
	libnetworking/libc/gethostbyht.c, libnetworking/libc/getnetnamadr.c,
	libnetworking/libc/inet_network.c,
	libnetworking/rtems/rtems_mii_ioctl.c,
	score/src/objectgetnameasstring.c: Fix warnings for ctype methods.
2010-03-11 19:12:30 +00:00
Joel Sherrill
c9a4a9a599 2010-03-04 Joel Sherrill <joel.sherrill@oarcorp.com>
* libblock/src/ramdisk-config.c: Revert accidental commit.
2010-03-04 14:41:32 +00:00
Joel Sherrill
7a09a7aedf 2010-03-04 Joel Sherrill <joel.sherrill@oarcorp.com>
* libblock/src/ramdisk-config.c, sapi/include/confdefs.h:
	CONFIGURE_DISABLE_CLASSIC_NOTEPADS is typo of
	CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS. Fix it.
2010-03-04 14:40:51 +00:00
Chris Johns
cca94a248b 2010-02-19 Chris Johns <chrisj@rtems.org>
* libblock/src/diskdevs.c: Create the devices as block devices.

        * libmisc/shell/main_debugrfs.c, libmisc/shell/main_mkrfs.c,
        libmisc/shell/main_mount_rfs.c: New.

        * libmisc/shell/main_msdosfmt.c: Change the command to mkdos and
        alias the old name.

        * libmisc/shell/shellconfig.h, libmisc/Makefile.am: Add RFS
        support.

        * libfs/src/rfs/rtems-rfs-shell.c,
        libfs/src/rfs/rtems-rfs-shell.h: Move the format command code into
        the shell file.
2010-02-19 03:23:11 +00:00
Chris Johns
a9fa9b765d 2010-02-18 Chris Johns <chrisj@rtems.org>
* libfs/src/rfs/rtems-rfs-bitmaps.c,
        libfs/src/rfs/rtems-rfs-bitmaps.h,
        libfs/src/rfs/rtems-rfs-bitmaps-ut.c,
        libfs/src/rfs/rtems-rfs-block.c, libfs/src/rfs/rtems-rfs-block.h,
        libfs/src/rfs/rtems-rfs-block-pos.h,
        libfs/src/rfs/rtems-rfs-buffer-bdbuf.c,
        libfs/src/rfs/rtems-rfs-buffer.c,
        libfs/src/rfs/rtems-rfs-buffer-devio.c,
        libfs/src/rfs/rtems-rfs-buffer.h, libfs/src/rfs/rtems-rfs-data.h,
        libfs/src/rfs/rtems-rfs-dir.c, libfs/src/rfs/rtems-rfs-dir.h,
        libfs/src/rfs/rtems-rfs-dir-hash.c,
        libfs/src/rfs/rtems-rfs-dir-hash.h,
        libfs/src/rfs/rtems-rfs-file.c, libfs/src/rfs/rtems-rfs-file.h,
        libfs/src/rfs/rtems-rfs-file-system.c,
        libfs/src/rfs/rtems-rfs-file-system-fwd.h,
        libfs/src/rfs/rtems-rfs-file-system.h,
        libfs/src/rfs/rtems-rfs-format.c,
        libfs/src/rfs/rtems-rfs-format.h, libfs/src/rfs/rtems-rfs-group.c,
        libfs/src/rfs/rtems-rfs-group.h, libfs/src/rfs/rtems-rfs.h,
        libfs/src/rfs/rtems-rfs-inode.c, libfs/src/rfs/rtems-rfs-inode.h,
        libfs/src/rfs/rtems-rfs-link.c, libfs/src/rfs/rtems-rfs-link.h,
        libfs/src/rfs/rtems-rfs-mutex.c, libfs/src/rfs/rtems-rfs-mutex.h,
        libfs/src/rfs/rtems-rfs-rtems.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,
        libfs/src/rfs/rtems-rfs-rtems.h,
        libfs/src/rfs/rtems-rfs-rtems-utils.c,
        libfs/src/rfs/rtems-rfs-shell.c, libfs/src/rfs/rtems-rfs-shell.h,
        libfs/src/rfs/rtems-rfs-trace.c, libfs/src/rfs/rtems-rfs-trace.h:
        New.

        * Makefile.am, preinstall.am, libfs/Makefile.am,
        wrapup/Makefile.am: Updated with the RFS support.

        * libfs/README: Updated after 10 years.

        * libblock/src/flashdisk.c, libblock/src/nvdisk.c,
        libblock/src/ramdisk-driver.c: Updated to the new error reporting
        in libblock.

        * libmisc/shell/main_ls.c, libmisc/shell/print-ls.c: Fix printing
        the size in long mode.

        * libnetworking/nfs/bootp_subr.c,
        libnetworking/rtems/rtems_bootp.c,
        libnetworking/rtems/rtems_bsdnet_internal.h: Return the BOOTP/DHCP
        to the forever behaviour of 4.9 with the ability to call BOOTP and
        control the process if required.
2010-02-18 00:24:25 +00:00
Thomas Doerfler
1027f1534b Fixed invalid chain extract 2010-01-29 14:57:10 +00:00
Thomas Doerfler
e7fb54eb05 add purge capability to libblock, add proper test case 2010-01-26 15:09:03 +00:00
Joel Sherrill
04fee3104e 2010-01-20 Joel Sherrill <joel.sherrill@oarcorp.com>
Coverity Id 7
	Coverity Id 8
	* libblock/src/bdpart.c: Verify libblock is really set after
	rtems_bdbuf_read() before using it.
2010-01-20 17:10:36 +00:00
Joel Sherrill
a518defe92 2010-01-19 Joel Sherrill <joel.sherrill@oarcorp.com>
Coverity Id 10
	* libblock/src/bdbuf.c: Rework loop conditional to avoid potential use
	of NULL pointer.
2010-01-19 23:54:17 +00:00
Joel Sherrill
b61ad658f1 2010-01-19 Joel Sherrill <joel.sherrill@oarcorp.com>
* libblock/src/ide_part_table.c: Another error path without a
	free(sector).
2010-01-19 23:47:41 +00:00
Joel Sherrill
d3231fbaef 2010-01-19 Joel Sherrill <joel.sherrill@oarcorp.com>
Coverity Id 24
	* libblock/src/ide_part_table.c: Initialize sector to NULL and add
	free(sector) on error return path from get_sector() to fix potential
	leak.
2010-01-19 22:09:20 +00:00
Joel Sherrill
b2ac8a9c4f 2010-01-19 Joel Sherrill <joel.sherrill@oarcorp.com>
Coverity Id 25
	* libblock/src/ide_part_table.c: Add free(sector) on error return path
	to fix leak.
2010-01-19 22:05:30 +00:00
Thomas Doerfler
5c587596f0 libblock API update 2010-01-19 09:10:03 +00:00
Joel Sherrill
c4c8efd027 2010-01-18 Joel Sherrill <joel.sherrill@oarcorp.com>
Coverity Id 27
	* libblock/src/ramdisk-config.c: Coverity notes that the
	calloc() is a resource leak.  This is allocating memory for
	a RAM disk which will persist for the life of the system. RTEMS
	has no "de-initialize" driver call so there is no corresponding
	free(r).  Coverity is correct that it is never freed but this is
	not a problem.
2010-01-19 02:23:03 +00:00
Thomas Doerfler
1e0a5512fc Update for block device API change 2009-12-18 15:59:30 +00:00
Thomas Doerfler
47c23279bd documentation fixes
Avoid designated initializers for C++ compatibility
Fixed invalid state transition from FRESH to CACHED
Free memory in case of an error.
2009-11-30 12:39:51 +00:00
Ralf Corsepius
18daff9b95 Whitespace removal. 2009-11-29 13:35:32 +00:00
Ralf Corsepius
33c3b54d57 Whitespace removal. 2009-11-29 11:57:23 +00:00
Thomas Doerfler
6d61294486 numerous changes 2009-11-20 06:33:38 +00:00
Thomas Doerfler
c0e0a92892 Changed set and get IO controls to use the buffer argument for data exchange. 2009-11-12 15:32:11 +00:00
Ralf Corsepius
887796ba47 2009-11-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* libblock/src/bdbuf.c: Cast bdbuf->state to int32_t
	before shifting << 16 (Can not shift an enum by << 16 on 16bit).
2009-11-02 12:18:19 +00:00
Thomas Doerfler
6c9b39012d Fixed buffer recycling
Wake-up access waiters after sync
2009-11-02 09:50:06 +00:00
Thomas Doerfler
3d5515b6f7 Fixed group usage counting. See test "libtests/block02". 2009-10-30 10:57:39 +00:00
Thomas Doerfler
b5b07cad7d - - Reorderd AVL node fields to save space
- Fixed printf() formats. New structure for waiters synchronization. Added BDBUF_INVALID_DEV define. New error handling in rtems_bdbuf_init().
- Release disk in case of an error.
2009-10-29 12:50:01 +00:00
Thomas Doerfler
982ca110ca Aded ramdisk_register(). 2009-10-29 12:47:04 +00:00
Ralf Corsepius
fb5785cce6 2009-10-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* libblock/include/rtems/flashdisk.h: Use UINT32_C consts to
	avoid implicit int-cast overflows in RTEMS_FDISK_KBYTES.
2009-10-22 11:56:01 +00:00
Thomas Doerfler
e41369ef8c * libblock/include/rtems/diskdevs.h: Documentation. Added field to
rtems_disk_device.
        * libblock/include/rtems/blkdev.h: New request code
        RTEMS_BLKIO_DELETED.
        * libblock/src/diskdevs.c: Major rewrite.  Changed the way disks are
        deleted.  Disks will be now deleted if they are not in use or upon
        last release.  The IO control handler will be invoked if a physical
        disk is deleted with the RTEMS_BLKIO_DELETED request code.  Logical
        disks increase now the usage count of the associated physical disk.
        * libblock/include/rtems/ramdisk.h: Documentation.
        * libblock/src/ramdisk-driver.c: Compile trace support conditionally.
2009-10-20 07:53:19 +00:00