Subject: Re: wd, disk write cache, sync cache, and softdep.
To: Charles M. Hannum <abuse@spamalicious.com>
From: Daniel Carosone <dan@geek.com.au>
List: tech-kern
Date: 12/17/2004 10:50:43
--HHGSYth2upt+0nQt
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Thu, Dec 16, 2004 at 11:30:11PM +0000, Charles M. Hannum wrote:
> On Thursday 16 December 2004 23:23, Daniel Carosone wrote:
> > Finally, it's about getting the most out of cheap hardware - not just
> > the most performance but the most reliability as well.
>=20
> I have to conclude from this that you actually don't understand the real=
=20
> problems at all.
Rather, I'm trying to address just one component of it.
> * You can lose critical file system data (say, the root inode) just by tu=
rning=20
> off the power in the middle of a write. Fixing this properly really=20
> *requires* journaling. As Jason mentioned, your journaling system can ta=
ke=20
> care of the write ordering during flushing (and without much performance=
=20
> loss).
It doesn't specifically require journalling, though that's certainly
one way to address it. Other ways include never overwriting data
in-place, such as it seems Solaris' new zfs claims to do, or in a
manner similar to postgresql's MVCC. I've also seen journalled block
devices, either for the fss(4)-style case, or as a quicker hack than
rewriting the filesystem, though I'm not proposing one of those as a
good solution.
There's no question from me that NetBSD could also use better
filesystems, for all sorts of reasons.
> * There are other reliability problems, some of which were mentioned in r=
ecent=20
> (albeit terse) PRs, that are *much* bigger than the risk from the drive's=
=20
> write cache.
Certainly.
> You're shooting at the wrong target.
That depends on your definition of 'wrong'. I'm shooting at the one I
can hit from where I'm standing, and hoping my comrades on the next
hill are shooting at stuff I can't. Fire away.
--
Dan.
--HHGSYth2upt+0nQt
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (NetBSD)
iD8DBQFBwh9TEAVxvV4N66cRAicxAKC8L43Xc9ssfASRoqQCgCbnLQL5BQCg98bB
3nhn7+eso5QMFUbksWwKsJg=
=bUe3
-----END PGP SIGNATURE-----
--HHGSYth2upt+0nQt--