<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/gnu/ext2fs/ext2_linux_ialloc.c, branch stable/3</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Quick fix for not being able to sync all the buffers in boot() if</title>
<updated>1998-10-03T16:19:28+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1998-10-03T16:19:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8f359bc68c24ccfff3754c753a4a65d529f60b30'/>
<id>8f359bc68c24ccfff3754c753a4a65d529f60b30</id>
<content type='text'>
an ext2fs file system is mounted.  The soft update changes added
a check for B_DELWRI buffers.  This exposed the complete brokenness
of the previous quick fix for failing syncs (PR 3571, committed on
1997/08/04).  Use a new buffer flag B_DIRTY and don't abuse B_DELWRI.
B_DIRTY buffers are still written too late, as broken in the previous
fix.  This is fairly harmless, because B_DIRTY is only used for
bitmap buffers and fsck.ext2 can fix up the bitmaps perfectly.

Fixed a race in ULCK_BUF() (bremfree() was outside of the splbio()
section).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
an ext2fs file system is mounted.  The soft update changes added
a check for B_DELWRI buffers.  This exposed the complete brokenness
of the previous quick fix for failing syncs (PR 3571, committed on
1997/08/04).  Use a new buffer flag B_DIRTY and don't abuse B_DELWRI.
B_DIRTY buffers are still written too late, as broken in the previous
fix.  This is fairly harmless, because B_DIRTY is only used for
bitmap buffers and fsck.ext2 can fix up the bitmaps perfectly.

Fixed a race in ULCK_BUF() (bremfree() was outside of the splbio()
section).
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed printf format errors.</title>
<updated>1998-07-11T07:46:16+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1998-07-11T07:46:16+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ac1e407b32ad79ecad415cd6d0955f90ba53efc2'/>
<id>ac1e407b32ad79ecad415cd6d0955f90ba53efc2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed (?) races in mark_buffer_dirty().  We abuse the buffer cache</title>
<updated>1998-06-21T21:06:04+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1998-06-21T21:06:04+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=add4ae93245a804dedbb182073fb4aeb05ab2b37'/>
<id>add4ae93245a804dedbb182073fb4aeb05ab2b37</id>
<content type='text'>
by hacking on locked buffers without getblk()ing them, and we didn't
even use splbio() to prevent biodone() changing the buffer underneath
use when a write completes.  I think there was no problem in practice
on i386's because the operations on b_flags and numdirtybufs happen to
be atomic.  We still depend on biodone()'s operations on b_flags not
interfering with ours.  I think there is only interference for B_ERROR,
and this is harmless because errors for async writes are ignored anyway.

Don't use mark_buffer_dirty() except for superblock-related metadata.
It was used in just one case where ordinary BSD buffering is more
natural.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
by hacking on locked buffers without getblk()ing them, and we didn't
even use splbio() to prevent biodone() changing the buffer underneath
use when a write completes.  I think there was no problem in practice
on i386's because the operations on b_flags and numdirtybufs happen to
be atomic.  We still depend on biodone()'s operations on b_flags not
interfering with ours.  I think there is only interference for B_ERROR,
and this is harmless because errors for async writes are ignored anyway.

Don't use mark_buffer_dirty() except for superblock-related metadata.
It was used in just one case where ordinary BSD buffering is more
natural.
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed unused function ll_w_block().  It has always had races due</title>
<updated>1998-06-21T19:56:31+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1998-06-21T19:56:31+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9b7a8fb7d80987137d1d08e965c6490502913659'/>
<id>9b7a8fb7d80987137d1d08e965c6490502913659</id>
<content type='text'>
to not using splbio(), and has rotted a little.  The races were
probably harmless in practice because this function was only used
for superblock updates, and separate superblock updates are probably
prevented from running into each other by doing part of the update
synchronously.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to not using splbio(), and has rotted a little.  The races were
probably harmless in practice because this function was only used
for superblock updates, and separate superblock updates are probably
prevented from running into each other by doing part of the update
synchronously.
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed __FreeBSD__ ifdefs.</title>
<updated>1997-12-02T10:39:42+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1997-12-02T10:39:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2f169e4b76deb797ac0fd9d61b341cab6faa64f4'/>
<id>2f169e4b76deb797ac0fd9d61b341cab6faa64f4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>`numdirtybuffers' was not maintained properly.  This caused excessive</title>
<updated>1997-10-07T11:10:18+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1997-10-07T11:10:18+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=dab8d6e4e7602b4ed45ce4aeb7b5835c81fc1d73'/>
<id>dab8d6e4e7602b4ed45ce4aeb7b5835c81fc1d73</id>
<content type='text'>
flushing of buffers in an attempt to reduce numdirtybuffers, and
perhaps other problems.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
flushing of buffers in an attempt to reduce numdirtybuffers, and
perhaps other problems.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a problem with ext2fs so that filesystems mounted at reboot don't</title>
<updated>1997-08-04T05:10:31+00:00</updated>
<author>
<name>John Dyson</name>
<email>dyson@FreeBSD.org</email>
</author>
<published>1997-08-04T05:10:31+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5fd549b62eeb2d34acff683fceabcc532ea7eb4a'/>
<id>5fd549b62eeb2d34acff683fceabcc532ea7eb4a</id>
<content type='text'>
keep ahold of buffers, and therefore leave filesystems dirty.  I haven't
been able to test, but the code compiles.  Those who run -current, please
test and report back!!!  (Sorry :-)).

PR:		kern/3571
Submitted by:	Dirk Keunecke &lt;dk@panda.rhein-main.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
keep ahold of buffers, and therefore leave filesystems dirty.  I haven't
been able to test, but the code compiles.  Those who run -current, please
test and report back!!!  (Sorry :-)).

PR:		kern/3571
Submitted by:	Dirk Keunecke &lt;dk@panda.rhein-main.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a problem with the VN device.  Specifically, the VN device can</title>
<updated>1997-06-15T17:56:53+00:00</updated>
<author>
<name>John Dyson</name>
<email>dyson@FreeBSD.org</email>
</author>
<published>1997-06-15T17:56:53+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6b195d32a1cd26c13df527a3c3d02598119c2f55'/>
<id>6b195d32a1cd26c13df527a3c3d02598119c2f55</id>
<content type='text'>
cause a problem of spiraling death due to buffer resource limitations.
The vfs_bio code in general had little ability to handle buffer resource
management, and now it does.  Also, there are a lot more knobs for tuning the
vfs_bio code now.  The knobs came free because of the need that there
always be some immediately available buffers (non-delayed or locked) for
use.  Note that the buffer cache code is much less likely to get bogged
down with lots of delayed writes, even more so than before.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
cause a problem of spiraling death due to buffer resource limitations.
The vfs_bio code in general had little ability to handle buffer resource
management, and now it does.  Also, there are a lot more knobs for tuning the
vfs_bio code now.  The knobs came free because of the need that there
always be some immediately available buffers (non-delayed or locked) for
use.  Note that the buffer cache code is much less likely to get bogged
down with lots of delayed writes, even more so than before.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use __i386__ instead of i386 in ifdefs.</title>
<updated>1997-04-01T15:10:38+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1997-04-01T15:10:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ada28e77e65b55a8b86a4d1a11825d9cb7b7e068'/>
<id>ada28e77e65b55a8b86a4d1a11825d9cb7b7e068</id>
<content type='text'>
Don't compile unused (debugging?) functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't compile unused (debugging?) functions.
</pre>
</div>
</content>
</entry>
<entry>
<title>ext2_inode_cnv.c:</title>
<updated>1995-11-09T08:41:25+00:00</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1995-11-09T08:41:25+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b9286a3a0b03f4e3766a71d26e1df4c8204fb76a'/>
<id>b9286a3a0b03f4e3766a71d26e1df4c8204fb76a</id>
<content type='text'>
Included &lt;sys/vnode.h&gt; and its prerequisite &lt;sys/proc.h&gt;, and cleaned
up includes.  The vop_t changes made the non-inclusion of vnode.h
fatal instead of just sloppy.

i386_bitops.h:
Changed `extern inline' to `static inline'.  `extern inline' is a
Linuxism that stops things from compiling without -O.  Fixed
idempotency identifier.

Misc:
Added prototypes.  Staticized some functions so that prototypes are
unnecessary.  Added casts.  Cleaned up includes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Included &lt;sys/vnode.h&gt; and its prerequisite &lt;sys/proc.h&gt;, and cleaned
up includes.  The vop_t changes made the non-inclusion of vnode.h
fatal instead of just sloppy.

i386_bitops.h:
Changed `extern inline' to `static inline'.  `extern inline' is a
Linuxism that stops things from compiling without -O.  Fixed
idempotency identifier.

Misc:
Added prototypes.  Staticized some functions so that prototypes are
unnecessary.  Added casts.  Cleaned up includes.
</pre>
</div>
</content>
</entry>
</feed>
