Nasty 2.1.70 fs problem

Richard B. Johnson (root@chaos.analogic.com)
Tue, 9 Dec 1997 16:26:09 -0500 (EST)


The following commands (don't do this on a good fs):
cd /tmp
while [ 1 ] ; do mkdir foo ; cd foo ; done

... Will result in a trashed file system that e2fsck can't fix.

shell-init: could not get current directory: getwd: cannot access parent
directories
job-working-directory: could not get current directory: getwd: cannot access
parent directories
#
# ls
job-working-directory: could not get current directory: getwd: cannot access
parent directories
# cd ..
# pwd
pwd: could not get current directory: getwd: cannot access parent directories
#
#
# ls
job-working-directory: could not get current directory: getwd: cannot access
parent directories
# cd foo
cd_links: could not get current directory: getwd: cannot access parent
directories
# ls
# cd ..
# ls
# pwd
.
# cd ..
# ls
# pwd
.
# cd ..
# ls
# pwd
.
# cd ..
# ls
# pwd
.
# cd /tmp
# ls
.
# cd /
# ls
.
# cd /
# ls
.
# cd /
# /bin/bash
bash: /bin/bash No such file or directory

# cd /bin
bash: /bin No such file or directory

# exit
exit

The "last" directory entry works like a symlink to hell. Once you change
directory to that, the shell gets confused and can't get out even when
you change directories directly.

Cached directory entries are apparently "confused" so I can't log in
again because /etc/passwd isn't readable anymore.

A hard reset fails to boot, it looks like lilo can't find /vmlinux.

Booting on a floppy fails to mount the root file-system.

Booting on a floppy that mounts an alternate root file-system shows
that the original fs is quite well trashed.

Note: This is __not__ a complaint. This is information for the guys
that have been working on the new caching code. I have 8-hour old
tapes made every night by crond.

My root file-system was 1,981,000 1-k blocks in length.

CONFIG_MODULES=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_BIOS=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_M586=y
CONFIG_BLK_DEV_FD=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_SCSI_BUSLOGIC=y
CONFIG_SCSI_OMIT_FLASHPOINT=y
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_NE2000=y
CONFIG_PPP=y
CONFIG_CDROM=y
CONFIG_EXT2_FS=y
CONFIG_ISO9660_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
CONFIG_NFSD=y
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_NLS=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y

Cheers,
Dick Johnson

Richard B. Johnson
Project Engineer
Analogic Corporation
Penguin : Linux version 2.1.70 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.