Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Dec 2004 13:33:10 +0200
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        Poul-Henning Kamp <phk@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/ufs/ffs ffs_vfsops.c
Message-ID:  <20041213113310.GB51149@ip.net.ua>
In-Reply-To: <200412121419.iBCEJBg4048788@repoman.freebsd.org>
References:  <200412121419.iBCEJBg4048788@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--IiVenqGWf+H9Y6IX
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Dec 12, 2004 at 02:19:11PM +0000, Poul-Henning Kamp wrote:
> phk         2004-12-12 14:19:11 UTC
>=20
>   FreeBSD src repository
>=20
>   Modified files:
>     sys/ufs/ffs          ffs_vfsops.c=20
>   Log:
>   With the introduction of UFS2 we started looking for superblocks in
>   four different locations on a prospective filesystem.
>  =20
>   If we found none, we forgot to invalidate the four buffers, thus the
>   following sequence would fails:
>  =20
>           (md0 =3D blank disk)
>           mount /dev/md0 /mnt
>           (fails, no superblocks)
>           newfs /dev/md0
>           (writes using physio which does not go through buffercache).
>           mount /dev/md0 /mnt
>           (still fails, the four cached buffers still contain no superblo=
cks)
>  =20
>   Found by:       ru
>  =20
>   Revision  Changes    Path
>   1.263     +1 -0      src/sys/ufs/ffs/ffs_vfsops.c
>=20
For some reason, this is only a problem on 6.0-CURRENT.  RELENG_5,
for example, doesn't exhibit this particular problem.

But originally, I had my issue with floppies, attempting to write
a newer BIOS on my amd64 box, I needed to create and fill an MS-DOS
formatted diskette.  Everything was done on i386.  First issue:

- boot with a blank (unformatted) diskette present in the drive
  (for testing purposes, "blank" =3D=3D all zeroes)
- newfs_msdos it -- succeeds
- mount_msdosfs it -- fails

Another issue:

- boot without a diskette in the drive
- insert a diskette #1 into the drive
- newfs_msdos it
- mount_msdosfs it
- copy some files onto it
- unmount it
- insert another (possibly unformatted) diskette #2
- mount_msdosfs it and find it somehow succeeds
- list the contents of the diskette and find that it's identical
  to the contents of diskette #1, including MD5 checksums of
  all files

This smells like a bufcache issue, but I may be wrong about it.


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--IiVenqGWf+H9Y6IX
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFBvX32qRfpzJluFF4RAmvFAJ9sp2gX9j6xAzBXSxA5x3fxTx3mCACfQyAx
paZfhG/6MQ0FrSAaV1RLnr8=
=ixvP
-----END PGP SIGNATURE-----

--IiVenqGWf+H9Y6IX--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041213113310.GB51149>