svn commit: r212617 - head/sys/ufs/ffs
Carlos A. M. dos Santos
unixmania at gmail.com
Fri Sep 17 02:55:08 UTC 2010
On Thu, Sep 16, 2010 at 5:44 AM, Brian Somers <brian at freebsd.org> wrote:
> On Tue, 14 Sep 2010 18:04:05 +0000 (UTC) Kirk McKusick <mckusick at FreeBSD.org> wrote:
>> Author: mckusick
>> Date: Tue Sep 14 18:04:05 2010
>> New Revision: 212617
>> URL: http://svn.freebsd.org/changeset/base/212617
>>
>> Log:
>> Update comments in soft updates code to more fully describe
>> the addition of journalling. Only functional change is to
>> tighten a KASSERT.
>>
>> Reviewed by: jeff Roberson
>>
>> Modified:
>> head/sys/ufs/ffs/ffs_softdep.c
>> head/sys/ufs/ffs/fs.h
>> head/sys/ufs/ffs/softdep.h
>>
>> Modified: head/sys/ufs/ffs/ffs_softdep.c
>> ==============================================================================
>> --- head/sys/ufs/ffs/ffs_softdep.c Tue Sep 14 17:22:06 2010 (r212616)
>> +++ head/sys/ufs/ffs/ffs_softdep.c Tue Sep 14 18:04:05 2010 (r212617)
>> @@ -2378,7 +2378,8 @@ remove_from_journal(wk)
>> /*
>> * We emulate a TAILQ to save space in most structures which do not
>> * require TAILQ semantics. Here we must update the tail position
>> - * when removing the tail which is not the final entry.
>> + * when removing the tail which is not the final entry. This works
>> + * only if the worklist linkage are at the beginning of the structure.
>> */
>> if (ump->softdep_journal_tail == wk)
>> ump->softdep_journal_tail =
>> @@ -2605,7 +2606,7 @@ jremref_write(jremref, jseg, data)
>> inoref_write(&jremref->jr_ref, jseg, rec);
>> }
>>
>> -static void
>> +static void
>> jmvref_write(jmvref, jseg, data)
>> struct jmvref *jmvref;
>> struct jseg *jseg;
>> @@ -2906,9 +2907,9 @@ complete_jseg(jseg)
>> waiting = wk->wk_state & IOWAITING;
>> wk->wk_state &= ~(IOSTARTED | IOWAITING);
>> wk->wk_state |= COMPLETE;
>> - KASSERT(i < jseg->js_cnt,
>> + KASSERT(i++ < jseg->js_cnt,
>> ("handle_written_jseg: overflow %d >= %d",
> [.....]
>
> If INVARIANTS is not defined, the above i++ will not happen.
Which does not cause any harm, since "i" is a local variable, not used
anywhere else in the function. A picky compiler would complain,
however, that the variable is never read.
More information about the svn-src-head
mailing list