2.4.10 - knfsd symlink corruption

From: Erik DeBill (erik@www.creditminders.com)
Date: Tue Sep 25 2001 - 19:44:12 EST

Under 2.4.10, I can mount an exported directory to another machine (or
loopback to the localhost), and while creating symlinks some will end
up with corrupt destinations. It looks like random binary garbage is
being appended to the end of the file name.

Normal files seem to be copied and created just fine, but symlinks end
up with massive corruption in the name of the file they point to (I
haven't tried checksumming files after copying, though).

This happens while using 2.4.10 as the nfs server. Tested with both
2.4.2-12 (RH 7.1 stock) and 2.4.10 as client. The problem doesn't
show with the stock RH kernel on the server.

It seems to help if you pick a long file name to link to (ln -s
/usr/IBMdb2/V7.1/instance foo is much more likely to trip the bug than
ln -s /dev/null foo) and sometimes it seems that repeating links to
the same file can get more of the links to create successfully.

I'll attach an example of triggering the bug (I suspect all the binary
involved will trip up MTA's without some encoding).

Both the nfs server and client in this case are dual proc Xeon 700's
w/ 4gig of RAM. The actual directory being nfs exported is mounted on
an internal scsi drive.

I'll be happy to try out any patches or provide access to test boxes
if it'll help track things down.


total 0
lrwxrwxrwx 1 erik erik 28 Sep 26 2001 1 -> /usr/IBMdb2/V7.1/installז
lrwxrwxrwx 1 erik erik 28 Sep 26 2001 10 -> /usr/IBMdb2/V7.1/install
lrwxrwxrwx 1 erik erik 165 Sep 26 2001 2 -> /usr/IBMdb2/V7.1/installqe_r/t]⑀cJ+ѤGdNgq2W'c)J(w!)4U;dQ9g$YFb3jA172gBx𹤪rntu9
lrwxrwxrwx 1 erik erik 404 Sep 26 2001 3 -> /usr/IBMdb2/V7.1/installI8k3(yg$<%vj=7SE^G;*AUlufTPԱaxTygUe0<mŽ:iUlSw,gWŶYax^KI9 0<#U0ԑ0<-axhKgS ?&axnu30<g\3 bgWw3 ë?j 0<3 ϯ3 cP1 c$P2 cDPua j70FO)Tte#c  cP0DMa$V1i73F?:7/g^?`ÛYs~x[X ?V?`g
lrwxrwxrwx 1 erik erik 1046 Sep 26 2001 4 -> /usr/IBMdb2/V7.1/installoojIO]M9"&LLDOl)]2Z:.0j6 i\ݴtK~K):l[ΗKO9:1wWZ'`R4%Ce~[ #TxiKOcKqjrrCoPs-7&<ؒC3̤sf_ p K,߭EZ!4}F4Xo #qf<O?4Dk]j >TWHү ?dY}wPOcKy9/=&69KA(pS@/?]opEM 9`%2ˍ-Ĕ%0xǶ o-پ<(ī-M$ qx_qmc?a @qOCU9(~\yD)qSH;^<ВqF~
}?tJVӲw|Zp3G@G`/ ۰ÀQHxQ3]g-/NUؼG*o+:&]GIݤVk6W11Y>l<ZyrM8^ T^0"-lzcsk睜Hk9.1 7m<[Lu{&7m{f8rnTxn‹4|uGPlk{׳Չ}W#"ӵdu^+_&^bΔh6; kj? !瑷-Vs- /%] ݿX@bw~IzX!@7N<Koâ< W\Watdp3+v#d1hú|ixh7$c 7죸'i J4xh-ot# O4ðq[iYO)S-_/_Cw~6<wCK1v%шxbInS r 5D-D
lrwxrwxrwx 1 erik erik 52 Sep 26 2001 5 -> /usr/IBMdb2/V7.1/install3IKlomsrd <teg@redhat.com>
lrwxrwxrwx 1 erik erik 1296 Sep 26 2001 6 -> /usr/IBMdb2/V7.1/install-:^o compatibility issues with userspace.


Questions and Answers

Making things work
Alternatives to devfs
What I don't like about devfs

Making things work

Here are some common questions and answers.

Devfsd is not managing all my permissions

Make sure you are capturing the appropriate events. For example,
device entries created by the kernel generate REGISTER events,
but those created by devfsd generate CREATE events.

Devfsd is not capturing all REGISTER events

See the previous entry: you may need to capture CREATE events.

X will not start

Make sure you followed the steps
outlined above.

Why don't my network devices appear in devfs?

This is not a bug. Network devices have their own, completely separate
namespace. They are accessed via socket(2) and
setsockopt(2) calls, and thus require no device nodes. I have
raised the possibilty of moving network devices into the device
namespace, but have had no response.

How can I test if I have devfs compiled into my kernel?

All filesystems built-in or currently loaded are listed in
/proc/filesystems. If you see a devfs entry, then
you know that devfs was compiled into your kernel. If you have
correctly confiS)
lrwxrwxrwx 1 erik erik 1296 Sep 26 2001 7 -> /usr/IBMdb2/V7.1/installIpd under /dev/sg. A similar naming
scheme is used as for SCSI discs. A SCSI generic device with the
parameters:c=1,b=2,t=3,u=4 would appear as:


IDE Hard Discs

All IDE discs are placed under /dev/ide/hd, using a similar
convention to SCSI discs. The following mappings exist between the new
and the old names:

        /dev/hda /dev/ide/hd/c0b0t0u0
        /dev/hdb /dev/ide/hd/c0b0t1u0
        /dev/hdc /dev/ide/hd/c0b1t0u0
        /dev/hdd /dev/ide/hd/c0b1t1u0

IDE Tapes

A similar naming scheme is used as for IDE discs. The entries will
appear in the /dev/ide/mt directory.


A similar naming scheme is used as for IDE discs. The entries will
appear in the /dev/ide/cd directory.

IDE Floppies

A similar naming scheme is used as for IDE discs. The entries will
appear in the /dev/ide/fd directory.

XT Hard Discs

All XT discs are placed under /dev/xd. The first XT disc
would appear as /dev/xd/c0t0.

Old Compatibility Names

The old compatibility names are the legacy device names, such as
/dev/hda, /dev/sda, /dev/rtc and so on.
Devfsd can be configured to create compatibility symlinks so that you
may continue to use the old names in your configuration files and so
that old applications will continue to function correctly.

In order to configure 1|
lrwxrwxrwx 1 erik erik 363 Sep 26 2001 8 -> /usr/IBMdb2/V7.1/install|@M]_|IXu?Оj`m_ۈ86rat|-͢ 4^ Юc 86`I5 aW t+k}кQwS *VPM|vlQmbz`_/;C+4AybKPb]ՙR_7 'y@ <(Ԏ5홲HJJ@cKDbgYK"ѶpTq9D<%%WePݘΙQTڤctBCQV# S@_B2jrh] Cq
Rm74\K_HG@7g1J 0 ޿
lrwxrwxrwx 1 erik erik 255 Sep 26 2001 9 -> /usr/IBMdb2/V7.1/installp5v"xTb Rg[
-rw-rw-r-- 1 erik erik 0 Sep 26 2001 ls.out

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

This archive was generated by hypermail 2b29 : Sun Sep 30 2001 - 21:00:39 EST