Page 14 of 19

Posted: Mon 03 Mar 2014, 21:28
by RSH
Hi.

I have found another annoying thing and am not sure if this is a bug or a feature?

When I'm creating/building SFS Modules they usually do appear in /root and also usually I do try to load it from /root for a first test - before copying it to my huge SFS repository.

In sfs_load 2.0.2 the SFS Module is removed from /root, after unloading it.

Any hints/clues?

Would you please have a look also here

Thanks,

RSH

Posted: Mon 03 Mar 2014, 23:05
by mikeb
Hmm RSH that does mimic slax behaviour to avoid loading while in the unionfs.

In my approach I only copied to tmpfs and load the copy leaving the original alone... and if there was not enough ram to do so the load fails. I was not keen on disappearing sfs either.

mike

Posted: Tue 04 Mar 2014, 02:47
by RSH
Hmm RSH that does mimic slax behaviour to avoid loading while in the unionfs.
Ok, I see.

As I said earlier, I do not know Slax and this behavior of sfs_load was totally new to me. I just was afraid to have done something that I would never ever find again and therefore could not fix it. :lol:

So, mimic slax behaviour should make me happy? :lol: :wink:

Thanks for the Info.

Posted: Tue 04 Mar 2014, 09:29
by mikeb
So, mimic slax behaviour should make me happy?
In my approach I only copied to tmpfs and load the copy leaving the original alone... and if there was not enough ram to do so the load fails. I was not keen on disappearing sfs either.
mike

Posted: Wed 14 May 2014, 15:01
by SFR
RSH wrote:If having a SFS loaded and removing some files (I did try to remove some files from /usr/share/applications and also from /usr/local/bin), those removed files re-appear in the running OS when unloading the loaded SFS files.
I encountered the same behaviour and managed to determine the exact circumstances.
Steps to reproduce:
0. Slacko-5.7.0, fresh savefile, PUPMODE=13, SAVEINTERVAL=0
1. Create a file, e.g.: /root/testfile
2. Save session
3. Delete the file
4. Load & Unload an SFS file
5. testfile reappears (corresponding whiteout from pup_rw gets deleted)

I see that if SAVEINTERVAL != 0 then sfs_load "manually" removes files from pup_ro1 pointed by whiteouts in pup_rw, hence they won't reappear in this case.

Files are reappearing when the following line gets executed:

Code: Select all

busybox mount -t aufs -o remount,del:$MNTPNT unionfs /
I'm not AUFS expert and don't really know how to fix it. I tried to do 'reval': busybox mount -t aufs -o remount,udba=reval unionfs / before and/or after the offending line, but it didn't change anything, unfortunately...
___________

Another issue - there is:
#v1.9.4, v1.9.6-2: 'losetup -d' is disabled for kernel-3.x
However, I re-enabled it some time ago. Don't remember exactly why; I think in some cases loop devices weren't properly disassociated without this (or something like that).
Anyway, 'losetup -d' has never done any harm here in Slacko-5.7.0 (k3.10.32) and from what I remember, also in Slacko-5.6 (k3.4.something).

So, perhaps only 3.2.x series is affected and it's time to re-evaluate this precaution?

Greetings!

Posted: Thu 05 Jun 2014, 04:19
by Karl Godt
Since sfs_load uses #!/bin/ash sub scripts in /tmp :

Busybox find does not recognize the -mount option,

which is already deprecated according to man find .

-xdev is the other name for the -mount option .
# sfs_load
/usr/sbin/sfs_load: line 794: 4660 Terminated $GTKDIALOG -p DIALOG -c > /dev/null
find: unrecognized: -mount
BusyBox v1.23.0.git (2014-06-03 23:37:26 GMT-8) multi-call binary.

Usage: find [-HL] [PATH]... [OPTIONS] [ACTIONS]

Search for files and perform actions on them.
First failed action stops processing of current file.
Defaults: PATH is current directory, action is '-print'

-L,-follow Follow symlinks
-H ...on command line only
-xdev Don't descend directories on other filesystems

sfs_load-2.0.8

Posted: Thu 12 Jun 2014, 12:49
by shinobar
Please test sfs_load-2.0.8.pet
http://shino.pos.to/linux/puppy/

#09 Jun 2014 v2.0.8: ydrv, save-to-directory(gyro), DISSOSIATE option to be set by hardcode (thanks to R-S-H), remove find -mount option(Karl Godt)

Note: DISSOSIATE option is not automatically determined by the kernel version. You can edit the script to choose this option.

Posted: Mon 16 Jun 2014, 16:54
by SFR
Hey Shinobar, thanks for the new version.

I think I found a workaround for disappearance of .wh files from pup_rw, when PUPMODE=3/13 & RAMSAVEINTERVAL=0.

The idea is to find and tar all .wh files from pup_rw:

Code: Select all

find "/initrd/pup_rw" -name ".wh.*" -not -name ".wh..wh.*" -exec tar -Ppuf /tmp/wh_temp.tar {} \;
and then, when aufs gets remounted, recover them:

Code: Select all

tar -Ppxf /tmp/wh_temp.tar
Initial tests are fine, so far, but I didn't examine sfs_load's code thoroughly enough, so perhaps there are some caveats of such an approach I'm not aware of; what do you think?

Here's the diff against 2.0.8:

Code: Select all

--- old/sfs_load	2014-06-09 16:37:50.000000000 +0200
+++ new/sfs_load	2014-06-16 18:38:56.823284373 +0200
@@ -1176,6 +1176,10 @@
         # merge whiteout first
         $MYTMPDIR/petget $PREM
         return
+      else	# SFR: save all .wh files
+        TMP_WH="${MYTMPDIR}/wh_temp.tar"
+        rm -f "$TMP_WH"
+        find "/initrd/pup_rw" -name ".wh.*" -not -name ".wh..wh.*" -exec tar -Ppuf "$TMP_WH" {} \;
       fi
       ;;
   esac
@@ -1386,6 +1390,11 @@
   if [ "$AUFS" != "" ];then
     busybox mount -t aufs -o remount,append:$MNTPNT=ro unionfs /
     STATUS=$?
+	# SFR: recover .wh files
+	if [ -f "$TMP_WH" ] && [ $PUPMODE -eq 13 -o $PUPMODE -eq 3 ] && [ $RAMSAVEINTERVAL -eq 0 ]; then
+	  tar -Ppxf "$TMP_WH"
+	  rm -f "$TMP_WH"
+    fi
   else
     # 28 Oct 2011: unionfs support
     mount -t unionfs -o remount,add=:$MNTPNT=ro unionfs /
@@ -1604,6 +1613,11 @@
           debug "busybox mount -t aufs -o remount,del:$MNTPNT unionfs /"
           busybox mount -t aufs -o remount,del:$MNTPNT unionfs /
           STATUS=$?
+		  # SFR: recover .wh files
+		  if [ -f "$TMP_WH" ] && [ $PUPMODE -eq 13 -o $PUPMODE -eq 3 ] && [ $RAMSAVEINTERVAL -eq 0 ]; then
+		    tar -Ppxf "$TMP_WH"
+		    rm -f "$TMP_WH"
+		  fi
         else
           debug "mount -t unionfs -o remount,del=$MNTPNT unionfs /"
           mount -t unionfs -o remount,del=$MNTPNT unionfs /
(code could be better, but it's only a prototype, for testing purposes)

Btw, why PUPMODE=7 isn't also included? Only:

Code: Select all

3|13)	# ata/usbflash 
Greetings!

Posted: Mon 16 Jun 2014, 17:30
by mikeb
why would a sfs loader be touching pup_ro1... or is this more a snap merge issue. I get none of this happening with my sfs script but then again I dumped PUPMODE=13 years ago ..perhaps related but not sure how.

mike

PUPMODE=7

Posted: Tue 17 Jun 2014, 13:32
by shinobar
SFR wrote:Btw, why PUPMODE=7 isn't also included? !
PUPMODE=7 is buggy. I have no energy to check it out on many versions of Puppy. It's a nightmare.

Posted: Tue 17 Jun 2014, 14:00
by mikeb
It's a nightmare
That could be the understatement of the year... ... a bit like juggling eggs

mike

Re: sfs_load-2.0.8

Posted: Thu 19 Jun 2014, 20:22
by RSH
shinobar wrote:Please test sfs_load-2.0.8.pet
http://shino.pos.to/linux/puppy/

#09 Jun 2014 v2.0.8: ydrv, save-to-directory(gyro), DISSOSIATE option to be set by hardcode (thanks to R-S-H), remove find -mount option(Karl Godt)

Note: DISSOSIATE option is not automatically determined by the kernel version. You can edit the script to choose this option.
Hi.

Thanks for the new version.

I have downloaded the new version, made my modifications and then somw testings. The
Ted Dog wrote:infamous .wh out bug that never seems to get solved rediscovered by RSH. :o
still seems to exist. Files removed from the file system do re-appear in the file system when loading/unloading a SFS.
shinobar wrote:DISSOSIATE option to be set by hardcode (thanks to R-S-H)
...
...
Note: DISSOSIATE option is not automatically determined by the kernel version. You can edit the script to choose this option.
Can you explain this a little more?

Currently, I don't understand this.

Would this solve the infamous .wh out bug?

Thanks

RSH

DISSOSIATE

Posted: Thu 19 Jun 2014, 22:42
by shinobar
shinobar wrote:#09 Jun 2014 v2.0.8: ydrv, save-to-directory(gyro), DISSOSIATE option to be set by hardcode (thanks to R-S-H), remove find -mount option(Karl Godt)

Note: DISSOSIATE option is not automatically determined by the kernel version. You can edit the script to choose this option.
Sorry, it was SFR who suggested on the DISSOSIATE option.
The issue R-S-H proposed is still on my TO-DO list.

On the fly means 'I don't touch' anything.

Posted: Sun 29 Jun 2014, 08:21
by Pelo
Pet Loaded. I thought that 'on the fly' was only a link to something external. Often, it's not true, files in the distro are erased when using SFS.
Abiword 3.0.0, is concerned but Suite goffice Japan too. (libspreadsheet erased).
Puppy runs 'on the fly' in my computer and keep Windows 7 sleeping.
RSH on the fly let traces when taking off (plane) ???? :twisted:
To understand on the fly I use "croquis"

sfs_load-2.0.11

Posted: Wed 02 Jul 2014, 19:28
by shinobar
Download: http://shino.pos.to/linux/puppy/
Testing: sfs_load-2.0.11.pet (2014-07-03)

#26 Jun 2014 v2.0.9: init script in initramfs may not handle extra sfs
#27 Jun 2014 v2.0.10: afterwork at boot
#3 Jul 2014 v2.0.11: fix save-to-directry(gyro), fix was ydrv on loadable list

whiteout file problem

Posted: Sat 05 Jul 2014, 14:38
by gyro
@shinobar,
Just in case it gets missed in all the chatter in the slacko6 discussion, I hope this comment helps. http://murga-linux.com/puppy/viewtopic. ... &start=371
gyro[/code]

sfs_load-2.0.12

Posted: Tue 08 Jul 2014, 11:39
by shinobar
Download: http://shino.pos.to/linux/puppy/
Testing: sfs_load-2.0.12.pet
#8 Jul 2014 v2.0.12: no extra sfs but layers can be changed, rewrite cleanwhite, WIPEWHITEONINIT, PUPMODE7SUPPORT
FIX by SFR: http://www.murga-linux.com/puppy/viewto ... &start=419
/usr/sbin/sfs_load line 1195:

Code: Select all

$MYTMPDIR/cleanup /initrd/$SLAYER $PARAM	
is to be

Code: Select all

$MYTMPDIR/cleanup /initrd$SLAYER $PARAM
Made for Slacko 6.0 beta(Slacko-5.9.3.6), but may work with any puppy.

NOTE on whiteout:
The whiteout need different treatment depends on the PUPMODE, typically next 3:
1) PUPMODE=5 or PUPMODE=12
2) PUPMODE=13 and RAMSAVEINTERVAL>0
3) PUPMODE=13 and RAMSAVEINTERVAL=0
Report with what PUPMODE you have tested.
As for the RAMSAVEINTERVAL=0 is a special case. We may have to clarify its specification... :?

PUPMODE=6 and 7

Posted: Tue 08 Jul 2014, 13:30
by shinobar
shinobar wrote:cleanwhite, WIPEWHITEONINIT, PUPMODE7SUPPORT
PUPMODE=6 is supported with this sfs_load, almost same as PUPMODE=12.
PUPMODE=7 is not supported as the defaulet. The default action for PUPMODE=7 is install like a pet, same as PUPMODE=2.

Set the PUPMODE7SUPPORT 'true', editing /usr/sbin/sfs_load, if you want to test PUPMODE=7 support same as PUPMODE=13.

sfs_load-2.0.13

Posted: Sat 12 Jul 2014, 13:03
by shinobar
http://shino.pos.to/linux/puppy/
Testing: sfs_load-2.0.13.pet
#12 Jul 2014 v2.0.13: cleanwhite fix(SFR)

sfs_load-2.1

Posted: Wed 16 Jul 2014, 04:31
by shinobar
Download: http://shino.pos.to/linux/puppy/
Stable: sfs_load-2.1.pet (2014-07-16)