Subject: rdist blues with 1.2B and msdos file systems
To: None <current-users@NetBSD.ORG>
From: John C. Hayward <John.C.Hayward@wheaton.edu>
Date: 09/04/1996 00:43:40
I have been using rdist to manage a small lab of PC's which run both
NetBSD and DOS/Windows. I recently upgraded the NetBSD system to 1.2B
(Aug 25 as I recall) both kernel and binaries from 1.1B kernel and 1.1
binaries. Now I am experiencing serious reliability problems using rdist
to keep the msdos file systems clean.
Initially I had to modify rdist and adjusted the kernel to make it work.
The kernel had a problem with time stamps which has since been fixed. Rdist
had problems running on a msdos partition because it would try to change
the owner and group and mode even if the owner, group and mode were correct
after updating a file. On the msdos file system an error is generated if
you attempt to change user or group id. After modifying rdist to not
change user, group or mode if it did not need to be changed rdist worked
like a charm allowing me to keep the DOS partitions in pristine condition.
When I upgraded to 1.2B there have been additional problems. msdos
file system now supports long file names and rdist attempts to create
a temp file name of rdistXXXXXX when creating a temp file. The problem
is that the long file name is mapped to a 8.3 name and when the rename
command is issued it cannot find the long file name. I'm not sure if this
is a bug in msdos file system or not (if you create a long filename and
then attempt later to fstat the file should it complain or map the long
name to the shorter name and succeed?) I modified rdist to generate a temp
file name 8 characters long to avoid the problem.
When I put in the mods to skip the change owner group if there was no
need to and have a 8 character temp file things work in a quite flaky manner.
It seems to work for most files but there seem to be problems with short
files (less than a block). It appears that one file get written to the
previous file. I also notice errors coming from the call to rename
the file. When I look at the directory after it has done an update in DOS
I frequently see problems with scandisk and sometimes see duplicate names
in the directory.
I tried putting in a sync call when ever it detected there was a problem
with renaming the temp file to the target file. That caused the system to
hang - could not get it via network, no mouse movement - just hung.
rcp seems to work fine to the system.
Any suggestions on what might be wrong? Is anybody experiencing
reliability problems with msdos file systems?
Thanks in advance for any pointers.