(line 141 of init)
Code: Select all
# a function to run e2fsck on the save partition (passed as a param)
run_fsck(){
if [ "$FSCK" = "yes" ] ; then
echo -n "Perfoming periodic filesystem check on /dev/$1..." >/dev/console
e2fsck -yv /dev/$1
check_status 0
fi
}
(I'm assuming save partition above refers to a save file.)
It only filesystem checks partitions during shutdown.
There's another fsck script for this in rc.shutdown, activated by the fsck boot option:
(line 935 of rc.shutdown)
Code: Select all
# run periodic fsck on partitions
if grep -F -q 'fsck' /proc/cmdline ; then
echo -e "\n\\033[1;35mRunning filesystem check on available partitions:\\033[0;39m\n"
for APART in `probepart | grep -E 'ext2|ext3|minix|reiserfs' | cut -d'|' -f1`
do
# make sure it's not still mounted
busybox mount | grep -F -q "$APART" && continue
fsck -y $APART
echo
done
npierce wrote:
I'm totally lost. Any suggestions?I tested the function itself in an ash script and it worked OK for me. But I'm using Racy 5.2.2, which uses e2fsck 1.41.14 and the ash applet in BusyBox v1.19.3, so something could be different with Puppy 2.14x.
If the echoed message never appears on the console at all, then it is likely that the function never gets called at all, or $FSCK isn't being set.
I didn't see anything wrong with the code that looks for the boot option "pfix=fsck" and then sets FSCK="yes" (line 77).
So if the run_fsck() function is not being called, you will probably need to look closely at the code that is supposed to call it, which depends on the PUPMODE you are running (beginning at line 1439).
If run_fsck() is being called, you will need to look back in the code to see if the parameter being passed to run_fsck() ($PDEV1 or $SAVEPART, depending upon your PUPMODE) is being set correctly before the call.
Sorry that I couldn't be more helpful. I'm not the best person to ask about this, since I've never run a Puppy older than 4.3.1, and don't use save files.