Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Apr 2013 15:10:37 +0200
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        "Eggert, Lars" <lars@netapp.com>
Cc:        Rick Macklem <rmacklem@uoguelph.ca>, current <current@freebsd.org>
Subject:   Re: newnfs pkgng database corruption?
Message-ID:  <20130412131037.GI95891@ithaqua.etoilebsd.net>
In-Reply-To: <8A9F25C5-C5E6-4373-85F9-C47642CF1BAE@netapp.com>
References:  <746529932.761884.1365721847968.JavaMail.root@erie.cs.uoguelph.ca> <8A9F25C5-C5E6-4373-85F9-C47642CF1BAE@netapp.com>

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

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

On Fri, Apr 12, 2013 at 12:56:10PM +0000, Eggert, Lars wrote:
> Hi,
>=20
> On Apr 12, 2013, at 1:10, Rick Macklem <rmacklem@uoguelph.ca> wrote:
> > Well, I have no idea why an NFS server would reply errno 70 if the file
> > still exists, unless the client has somehow sent a bogus file handle
> > to the server. (I am not aware of any client bug that might do that. I
> > am almost suspicious that there might be a memory problem or something
> > that corrupts bits in the network layer. Do you have TSO enabled for yo=
ur
> > network interface by any chance? If so, I'd try disabling that on the
> > network interface. Same goes for checksum offload.)
> >=20
> > rick
> > ps: If you can capture packets between the client and server at the
> >    time this error occurs, looking at them in wireshark might be
> >    useful?
>=20
> I will try all of those things.
>=20
> But first, a question that someone who understands pkgng will be able to =
answerr: Is this "fake-pkg" process even running on the NFS mount? The WRKD=
IR is /tmp, which is an mfs mount.

fake-pkg is run in WRKDIR, but it calls pkgng which will open
/var/db/pkg/local.sqlite aka nfs mount.

The Error 70 is EX_SOFTWARE returned by pkgng.

Can you try the following patch:
http://people.freebsd.org/~bapt/patch-libpkg__pkgdb.c

Just add that file to /usr/ports/ports-mgmt/pkg/files/

If that works for you, that means the posix advisory locks is somehow faili=
ng on
nfsv4 files.

Given it is already known to be failing on nfsv3 (because people often
misconfigure it) I'll probablmy make unix-dotfile the default locking system
when local.sqlite is stored on network filesystem.

regards,
Bapt

--MPkR1dXiUZqK+927
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iEYEARECAAYFAlFoB80ACgkQ8kTtMUmk6EyACwCfcIOtamgGFQV3BlcG5r2NdlRK
HLgAn3uLrvcCDzPfhc6S1M8y+lFCz1R9
=hlLR
-----END PGP SIGNATURE-----

--MPkR1dXiUZqK+927--



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