svn commit: r188007 - head/usr.sbin/fifolog/lib
Poul-Henning Kamp
phk at FreeBSD.org
Mon Feb 2 06:29:18 PST 2009
Author: phk
Date: Mon Feb 2 14:29:15 2009
New Revision: 188007
URL: http://svn.freebsd.org/changeset/base/188007
Log:
Don't overwrite it, if only one sector is written yet.
Discovered by: "Dewayne Geraghty" <dewayne.geraghty at heuristicsystems.com.au>
Modified:
head/usr.sbin/fifolog/lib/fifolog_write_poll.c
Modified: head/usr.sbin/fifolog/lib/fifolog_write_poll.c
==============================================================================
--- head/usr.sbin/fifolog/lib/fifolog_write_poll.c Mon Feb 2 11:19:56 2009 (r188006)
+++ head/usr.sbin/fifolog/lib/fifolog_write_poll.c Mon Feb 2 14:29:15 2009 (r188007)
@@ -152,15 +152,16 @@ fifolog_write_open(struct fifolog_writer
es = fifolog_int_findend(f->ff, &o);
if (es != NULL)
return (es);
- if (o == 0) {
- f->seq = 0;
- f->recno = 0;
+ i = fifolog_int_read(f->ff, o);
+ if (i)
+ return ("Read error, looking for seq");
+ f->seq = be32dec(f->ff->recbuf);
+ if (f->seq == 0) {
+ /* Empty fifolog */
+ f->seq = random();
} else {
- i = fifolog_int_read(f->ff, o);
- if (i)
- return ("Read error, looking for seq");
- f->seq = be32dec(f->ff->recbuf) + 1;
f->recno = o + 1;
+ f->seq++;
}
f->ibufsize = 32768;
More information about the svn-src-head
mailing list