change log for rtems (2011-12-09)
rtems-vc at rtems.org
rtems-vc at rtems.org
Fri Dec 9 07:23:49 UTC 2011
*ccj* (on branch rtems-4-10-branch):
2011-12-09 Chris Johns <chrisj at rtems.org>
PR 1968/filesystem
* libfs/src/rfs/rtems-rfs-file.c: Fix to the seek bug where a seek
to 0 after reading the end of the file did not point to the
correct block.
* libfs/src/rfs/rtems-rfs-rtems.h,
libfs/src/rfs/rtems-rfs-trace.c: Fix the trace flags. Used to fix
the bug.
M 1.2346.2.111 cpukit/ChangeLog
M 1.4.2.4 cpukit/libfs/src/rfs/rtems-rfs-file.c
M 1.2.2.1 cpukit/libfs/src/rfs/rtems-rfs-rtems.h
M 1.2.2.2 cpukit/libfs/src/rfs/rtems-rfs-trace.c
diff -u rtems/cpukit/ChangeLog:1.2346.2.110 rtems/cpukit/ChangeLog:1.2346.2.111
--- rtems/cpukit/ChangeLog:1.2346.2.110 Wed Dec 7 00:51:41 2011
+++ rtems/cpukit/ChangeLog Fri Dec 9 01:12:27 2011
@@ -1,3 +1,13 @@
+2011-12-09 Chris Johns <chrisj at rtems.org>
+
+ PR 1968/filesystem
+ * libfs/src/rfs/rtems-rfs-file.c: Fix to the seek bug where a seek
+ to 0 after reading the end of the file did not point to the
+ correct block.
+ * libfs/src/rfs/rtems-rfs-rtems.h,
+ libfs/src/rfs/rtems-rfs-trace.c: Fix the trace flags. Used to fix
+ the bug.
+
2011-12-07 Ralf Corsépius <ralf.corsepius at rtems.org>
PR 1983/networking
diff -u rtems/cpukit/libfs/src/rfs/rtems-rfs-file.c:1.4.2.3 rtems/cpukit/libfs/src/rfs/rtems-rfs-file.c:1.4.2.4
--- rtems/cpukit/libfs/src/rfs/rtems-rfs-file.c:1.4.2.3 Mon Mar 14 00:07:18 2011
+++ rtems/cpukit/libfs/src/rfs/rtems-rfs-file.c Fri Dec 9 01:12:27 2011
@@ -424,7 +424,44 @@
*/
if (pos < rtems_rfs_file_shared_get_size (rtems_rfs_file_fs (handle),
handle->shared))
+ {
rtems_rfs_file_set_bpos (handle, pos);
+
+ /*
+ * If the file has a block check if it maps to the current position and it
+ * does not release it. That will force us to get the block at the new
+ * position when the I/O starts.
+ */
+ if (rtems_rfs_buffer_handle_has_block (&handle->buffer))
+ {
+ rtems_rfs_buffer_block block;
+ int rc;
+
+ rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),
+ rtems_rfs_file_map (handle),
+ rtems_rfs_file_bpos (handle),
+ &block);
+ if (rc > 0)
+ return rc;
+ if (rtems_rfs_buffer_bnum (&handle->buffer) != block)
+ {
+ rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),
+ rtems_rfs_file_buffer (handle));
+ if (rc > 0)
+ return rc;
+ }
+ }
+ }
+ else
+ {
+ /*
+ * The seek is outside the current file so release any buffer. A write will
+ * extend the file.
+ */
+ int rc = rtems_rfs_file_io_release (handle);
+ if (rc > 0)
+ return rc;
+ }
*new_pos = pos;
return 0;
@@ -441,23 +478,25 @@
if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))
printf ("rtems-rfs: file-set-size: size=%" PRIu64 "\n", new_size);
+ size = rtems_rfs_file_size (handle);
+
/*
- * Short cut for the common truncate on open call.
+ * If the file is same size do nothing else grow or shrink it ?
+ *
+ * If the file does not change size do not update the times.
*/
- if (new_size == 0)
+ if (size != new_size)
{
- rc = rtems_rfs_block_map_free_all (rtems_rfs_file_fs (handle), map);
- if (rc > 0)
- return rc;
- }
- else
- {
- size = rtems_rfs_file_size (handle);
-
/*
- * If the file is same size do nothing else grow or shrink it ?
+ * Short cut for the common truncate on open call.
*/
- if (size != new_size)
+ if (new_size == 0)
+ {
+ rc = rtems_rfs_block_map_free_all (rtems_rfs_file_fs (handle), map);
+ if (rc > 0)
+ return rc;
+ }
+ else
{
if (size < new_size)
{
@@ -567,13 +606,13 @@
rtems_rfs_file_bpos (handle));
}
}
- }
- handle->shared->size.count = rtems_rfs_block_map_count (map);
- handle->shared->size.offset = rtems_rfs_block_map_size_offset (map);
+ handle->shared->size.count = rtems_rfs_block_map_count (map);
+ handle->shared->size.offset = rtems_rfs_block_map_size_offset (map);
- if (rtems_rfs_file_update_mtime (handle))
- handle->shared->mtime = time (NULL);
+ if (rtems_rfs_file_update_mtime (handle))
+ handle->shared->mtime = time (NULL);
+ }
return 0;
}
diff -u rtems/cpukit/libfs/src/rfs/rtems-rfs-rtems.h:1.2 rtems/cpukit/libfs/src/rfs/rtems-rfs-rtems.h:1.2.2.1
--- rtems/cpukit/libfs/src/rfs/rtems-rfs-rtems.h:1.2 Mon Apr 12 00:29:25 2010
+++ rtems/cpukit/libfs/src/rfs/rtems-rfs-rtems.h Fri Dec 9 01:12:27 2011
@@ -25,12 +25,12 @@
#include <errno.h>
/**
- * RTEMS RFS RTEMS Error Enable. Set to 1 to printing of errors. Default is off.
+ * RTEMS RFS RTEMS Error Enable. Set to 1 for printing of errors. Default is off.
*/
#define RTEMS_RFS_RTEMS_ERROR 0
/**
- * RTEMS RFS RTEMS Trace Enable. Set to 1 to printing of errors. Default is off.
+ * RTEMS RFS RTEMS Trace Enable. Set to 1 for printing of errors. Default is off.
*/
#define RTEMS_RFS_RTEMS_TRACE 0
@@ -72,13 +72,14 @@
#define RTEMS_RFS_RTEMS_DEBUG_READLINK (1 << 9)
#define RTEMS_RFS_RTEMS_DEBUG_FCHMOD (1 << 10)
#define RTEMS_RFS_RTEMS_DEBUG_STAT (1 << 11)
-#define RTEMS_RFS_RTEMS_DEBUG_DIR_RMNOD (1 << 12)
-#define RTEMS_RFS_RTEMS_DEBUG_FILE_OPEN (1 << 13)
-#define RTEMS_RFS_RTEMS_DEBUG_FILE_CLOSE (1 << 14)
-#define RTEMS_RFS_RTEMS_DEBUG_FILE_READ (1 << 15)
-#define RTEMS_RFS_RTEMS_DEBUG_FILE_WRITE (1 << 16)
-#define RTEMS_RFS_RTEMS_DEBUG_FILE_LSEEK (1 << 17)
-#define RTEMS_RFS_RTEMS_DEBUG_FILE_FTRUNC (1 << 18)
+#define RTEMS_RFS_RTEMS_DEBUG_RENAME (1 << 12)
+#define RTEMS_RFS_RTEMS_DEBUG_DIR_RMNOD (1 << 13)
+#define RTEMS_RFS_RTEMS_DEBUG_FILE_OPEN (1 << 14)
+#define RTEMS_RFS_RTEMS_DEBUG_FILE_CLOSE (1 << 15)
+#define RTEMS_RFS_RTEMS_DEBUG_FILE_READ (1 << 16)
+#define RTEMS_RFS_RTEMS_DEBUG_FILE_WRITE (1 << 17)
+#define RTEMS_RFS_RTEMS_DEBUG_FILE_LSEEK (1 << 18)
+#define RTEMS_RFS_RTEMS_DEBUG_FILE_FTRUNC (1 << 19)
/**
* Call to check if this part is bring traced. If RTEMS_RFS_RTEMS_TRACE is
diff -u rtems/cpukit/libfs/src/rfs/rtems-rfs-trace.c:1.2.2.1 rtems/cpukit/libfs/src/rfs/rtems-rfs-trace.c:1.2.2.2
--- rtems/cpukit/libfs/src/rfs/rtems-rfs-trace.c:1.2.2.1 Mon Oct 11 16:12:48 2010
+++ rtems/cpukit/libfs/src/rfs/rtems-rfs-trace.c Fri Dec 9 01:12:27 2011
@@ -92,7 +92,8 @@
"symlink-read",
"file-open",
"file-close",
- "file-io"
+ "file-io",
+ "file-set"
};
rtems_rfs_trace_mask set_value = 0;
@@ -140,9 +141,9 @@
if (strcmp (argv[arg], table[t]) == 0)
{
if (set)
- set_value = 1 << t;
+ set_value = 1ULL << t;
else
- clear_value = 1 << t;
+ clear_value = 1ULL << t;
break;
}
}
*ralf*:
2011-12-09 Ralf Corsépius <ralf.corsepius at rtems.org>
* libchip/network/if_fxp.c: Add missing initializer.
M 1.582 c/src/ChangeLog
M 1.23 c/src/libchip/network/if_fxp.c
diff -u rtems/c/src/ChangeLog:1.581 rtems/c/src/ChangeLog:1.582
--- rtems/c/src/ChangeLog:1.581 Thu Dec 8 15:42:36 2011
+++ rtems/c/src/ChangeLog Fri Dec 9 01:16:47 2011
@@ -1,3 +1,7 @@
+2011-12-09 Ralf Corsépius <ralf.corsepius at rtems.org>
+
+ * libchip/network/if_fxp.c: Add missing initializer.
+
2011-12-08 Joel Sherrill <joel.sherrill at oarcorp.com>
PR 1589/build
diff -u rtems/c/src/libchip/network/if_fxp.c:1.22 rtems/c/src/libchip/network/if_fxp.c:1.23
--- rtems/c/src/libchip/network/if_fxp.c:1.22 Sat Sep 6 22:29:35 2008
+++ rtems/c/src/libchip/network/if_fxp.c Fri Dec 9 01:16:48 2011
@@ -209,7 +209,7 @@
{ 0x1037, "Intel Pro/100 Ethernet", UNTESTED },
{ 0x1038, "Intel Pro/100 Ethernet", UNTESTED },
{ 0x103B, "Intel Pro/100 Ethernet (82801BD PRO/100 VM (LOM))", 0 },
- { 0, NULL },
+ { 0, NULL, 0 }
};
#if 0
*ralf*:
2011-12-09 Ralf Corsépius <ralf.corsepius at rtems.org>
* console/vgacons.c: Add VGACONS_STATIC.
* console/vgacons.h: Remove VGACONS_STATIC.
M 1.282 c/src/lib/libbsp/i386/pc386/ChangeLog
M 1.2 c/src/lib/libbsp/i386/pc386/console/vgacons.h
M 1.2 c/src/lib/libbsp/i386/pc386/console/vgacons.c
diff -u rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.281 rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.282
--- rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.281 Fri Nov 18 14:11:06 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/ChangeLog Fri Dec 9 01:20:27 2011
@@ -1,3 +1,8 @@
+2011-12-09 Ralf Corsépius <ralf.corsepius at rtems.org>
+
+ * console/vgacons.c: Add VGACONS_STATIC.
+ * console/vgacons.h: Remove VGACONS_STATIC.
+
2011-11-18 Jennifer Averett <Jennifer.Averett at OARcorp.com>
PR 1925
diff -u rtems/c/src/lib/libbsp/i386/pc386/console/vgacons.h:1.1 rtems/c/src/lib/libbsp/i386/pc386/console/vgacons.h:1.2
--- rtems/c/src/lib/libbsp/i386/pc386/console/vgacons.h:1.1 Fri Nov 18 14:11:08 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/console/vgacons.h Fri Dec 9 01:20:28 2011
@@ -18,8 +18,6 @@
extern "C" {
#endif
-#define VGACONS_STATIC
-
/*
* This is the ASCII for "PC" in the upper word and 0386
* in the lower which should be unique enough to
diff -u rtems/c/src/lib/libbsp/i386/pc386/console/vgacons.c:1.1 rtems/c/src/lib/libbsp/i386/pc386/console/vgacons.c:1.2
--- rtems/c/src/lib/libbsp/i386/pc386/console/vgacons.c:1.1 Fri Nov 18 14:11:07 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/console/vgacons.c Fri Dec 9 01:20:28 2011
@@ -23,6 +23,8 @@
#include <bsp.h>
#include <crt.h>
+#define VGACONS_STATIC static
+
static int isr_is_on(const rtems_irq_connect_data *irq)
{
return BSP_irq_enabled_at_i8259s(irq->name);
--
Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20111209/bdd94b5f/attachment-0001.html>
More information about the vc
mailing list