Re: [BUG] 2.6.0-test4-mm1: NFS+XFS=data corruption

From: Andrew Morton
Date: Mon Aug 25 2003 - 15:02:32 EST


"Barry K. Nathan" <barryn@xxxxxxxxx> wrote:
>
> I'm really short on time right now, so this bug report might be vague,
> but it's important enough for me to try:
>
> I have an NFS fileserver (running 2.6.0-test4-mm1) exporting stuff from
> three filesystems: ReiserFS, ext3, and XFS. I'm seeing no problems with
> my ReiserFS and ext3 filesystems. XFS is a different story.
>
> My client machine is running 2.4.21bkn1 (my own kernel, not released to
> the public; the differences from vanilla 2.4.21 are XFS and Win4Lin).
>
> If I use my client machine to sign RPM packages (rpm --addsign ...),
> using rpm-4.2-16mdk, and the packages are on the XFS partition on the
> NFS server, about half of the packages are truncated by a couple hundred
> bytes afterwards (and GPG sig verification fails on those packages).
>
> It's always the same packages that get truncated by the same amounts of
> data. This is 100% reproducible. It doesn't matter whether I compile the
> kernel with gcc 2.95.3 or 3.1.1. If I perform the operation on my non-XFS
> filesystem the problem doesn't happen. If I run 2.6.0-test4-bk2 instead of
> test4-mm1 on the NFS server, the problem goes away. (I have never run
> any previous -mm kernels on this server.)
>
> Hmmm... If I sign the packages on the NFS server itself, even with
> test4-mm1 on the XFS partition, I can't reproduce the problem.
> *However*, that's a different version of RPM (4.0.4).
>
> Is this enough information to help find the cause of the bug? If not,
> it might be several days (if I'm unlucky, maybe even a week or two)
> before I have time to do anything more...
>

-mm kernels have O_DIRECT-for-NFS patches in them. And some versions of
RPM use O_DIRECT. Whether O_DIRECT makes any difference at the server end
I do not know, but it would be useful if you could repeat the test on stock
2.6.0-test4.

Alternatively, run

export LD_ASSUME_KERNEL=2.2.5

before running RPM. I think that should tell RPM to not try O_DIRECT.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/