commit:     09dbf42096df79e6c0d9ba61972122f9ea0fbaca
Author:     Fernando Reyes (likewhoa) <design <AT> missionaccomplish <DOT> com>
AuthorDate: Fri May 30 02:02:30 2014 +0000
Commit:     Richard Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Mon Jun 23 23:11:15 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/genkernel.git;a=commit;h=09dbf420

Restructure the setup_aufs function, it had redundant code and moved
the call to it further down the pipe.

---
 defaults/initrd.scripts | 181 +++++++++++++++++++++++-------------------------
 defaults/linuxrc        |   2 +-
 2 files changed, 89 insertions(+), 94 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index c5764f3..2fdfb4b 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -302,115 +302,110 @@ create_changefs() {
 }
 
 setup_aufs() {
-       if [ "${USE_AUFS_NORMAL}" -eq '1' ]
+        # Directory used for rw changes in union mount filesystem
+       UNION=/union
+       MEMORY=/memory
+       # Mountpoint for the changesdev
+       CHANGESMNT=${NEW_ROOT}/mnt/changesdev
+       if [ -z "$UID" ]
        then
-               # Directory used for rw changes in union mount filesystem
-               UNION=/union
-               MEMORY=/memory
-               # Mountpoint for the changesdev
-               CHANGESMNT=${NEW_ROOT}/mnt/changesdev
-               if [ -z "$UID" ]
-               then
-                       CHANGES=${MEMORY}/aufs_changes/default
-               else
-                       CHANGES=${MEMORY}/aufs_changes/${UID}
-               fi
+               CHANGES=${MEMORY}/aufs_changes/default
+       else
+               CHANGES=${MEMORY}/aufs_changes/${UID}
+       fi
 
-               mkdir -p ${MEMORY}
-               mkdir -p ${UNION}
-               mkdir -p ${CHANGESMNT}
-               for i in dev mnt ${CDROOT_PATH} mnt/livecd mnt/key tmp 
tmp/.initrd mnt/gentoo sys
-               do
-                       mkdir -p "${NEW_ROOT}/${i}"
-                       chmod 755 "${NEW_ROOT}/${i}"
-               done
-               [ ! -e "${NEW_ROOT}/dev/null" ] && mknod "${NEW_ROOT}"/dev/null 
c 1 3
-               [ ! -e "${NEW_ROOT}/dev/console" ] && mknod 
"${NEW_ROOT}"/dev/console c 5 1
+       mkdir -p ${MEMORY}
+       mkdir -p ${UNION}
+       mkdir -p ${CHANGESMNT}
+       for i in dev mnt ${CDROOT_PATH} mnt/livecd mnt/key tmp tmp/.initrd 
mnt/gentoo sys
+       do
+               mkdir -p "${NEW_ROOT}/${i}"
+               chmod 755 "${NEW_ROOT}/${i}"
+       done
+       [ ! -e "${NEW_ROOT}/dev/null" ] && mknod "${NEW_ROOT}"/dev/null c 1 3
+       [ ! -e "${NEW_ROOT}/dev/console" ] && mknod "${NEW_ROOT}"/dev/console c 
5 1
 
-               bootstrapCD
-               if [ -n "${AUFS}" ]
+       bootstrapCD
+       if [ -n "${AUFS}" ]
+       then
+               if [ "${AUFS}" = "detect" ]
                then
-                       if [ "${AUFS}" = "detect" ]
+                       CHANGESMNT="${NEW_ROOT}${CDROOT_PATH}"
+                       CHANGESDEV=${REAL_ROOT}
+               else
+                       CHANGESDEV=${AUFS}
+                       good_msg "mounting ${CHANGESDEV} to ${MEMORY} for aufs 
support"
+                       mount -t auto ${CHANGESDEV} ${CHANGESMNT}
+                       ret=$?
+                       if [ "${ret}" -ne 0 ]
                        then
-                               CHANGESMNT="${NEW_ROOT}${CDROOT_PATH}"
-                               CHANGESDEV=${REAL_ROOT}
-                       else
-                               CHANGESDEV=${AUFS}
-                               good_msg "mounting ${CHANGESDEV} to ${MEMORY} 
for aufs support"
-                               mount -t auto ${CHANGESDEV} ${CHANGESMNT}
+                               bad_msg "mount of ${CHANGESDEV} failed, falling 
back to ramdisk based aufs"
+                               unset AUFS
+                       fi
+               fi
+               # Check and attempt to create the changesfile
+               if [ ! -e ${CHANGESMNT}/${AUFS_CHANGESFILE} ] && [ -n "${AUFS}" 
]
+               then
+                       create_changefs
+                       mount -t auto ${CHANGESMNT}/${AUFS_CHANGESFILE} 
${MEMORY}
+               elif [ -n "${AUFS}" ]
+               then
+                       local nbpass=0
+                       while [ 1 ]
+                       do
+                               mount -t auto ${CHANGESMNT}/${AUFS_CHANGESFILE} 
${MEMORY}
                                ret=$?
                                if [ "${ret}" -ne 0 ]
                                then
-                                       bad_msg "mount of ${CHANGESDEV} failed, 
falling back to ramdisk based aufs"
-                                       unset AUFS
-                               fi
-                       fi
-                       # Check and attempt to create the changesfile
-                       if [ ! -e ${CHANGESMNT}/${AUFS_CHANGESFILE} ] && [ -n 
"${AUFS}" ]
-                       then
-                               create_changefs
-                               mount -t auto ${CHANGESMNT}/${AUFS_CHANGESFILE} 
${MEMORY}
-                       elif [ -n "${AUFS}" ]
-                       then
-                               local nbpass=0
-                               while [ 1 ]
-                               do
-                                       mount -t auto 
${CHANGESMNT}/${AUFS_CHANGESFILE} ${MEMORY}
-                                       ret=$?
-                                       if [ "${ret}" -ne 0 ]
+                                       if [ ${nbpass} -eq 0 ]
                                        then
-                                               if [ ${nbpass} -eq 0 ]
-                                               then
-                                                       bad_msg "mounting of 
changes file failed, Running e2fsck"
-                                                       e2fsck 
${CHANGESMNT}/${AUFS_CHANGESFILE}
-                                                       nbpass=$((${nbpass} + 
1))
-                                               else
-                                                       bad_msg "mount of 
${CHANGESDEV} failed, falling back to ramdisk based aufs"
-                                                       bad_msg "your 
${AUFS_CHANGESFILE} might be messed up, and I couldn't fix it"
-                                                       bad_msg "moving 
${AUFS_CHANGESFILE} to ${AUFS_CHANGESFILE}.bad"
-                                                       mv 
${CHANGESMNT}/${AUFS_CHANGESFILE} ${CHANGESMNT}/${AUFS_CHANGESFILE}.bad
-                                                       bad_msg "try to fix it 
yourself with e2fsck later on, sorry for disturbing"
-                                                       break
-                                               fi
+                                               bad_msg "mounting of changes 
file failed, Running e2fsck"
+                                               e2fsck 
${CHANGESMNT}/${AUFS_CHANGESFILE}
+                                               nbpass=$((${nbpass} + 1))
                                        else
-                                               if [ ${nbpass} -eq 1 ]
-                                               then
-                                                       good_msg "e2fsck ran 
successfully. Please check your files after bootup"
-                                               fi
+                                               bad_msg "mount of ${CHANGESDEV} 
failed, falling back to ramdisk based aufs"
+                                               bad_msg "your 
${AUFS_CHANGESFILE} might be messed up, and I couldn't fix it"
+                                               bad_msg "moving 
${AUFS_CHANGESFILE} to ${AUFS_CHANGESFILE}.bad"
+                                               mv 
${CHANGESMNT}/${AUFS_CHANGESFILE} ${CHANGESMNT}/${AUFS_CHANGESFILE}.bad
+                                               bad_msg "try to fix it yourself 
with e2fsck later on, sorry for disturbing"
                                                break
                                        fi
-                               done
-                       fi
-                       # mount tmpfs only in the case when changes= boot 
parameter was
-                       # empty or we were not able to mount the storage device
-                       if [ "${CDROOT}" -eq '1' -a ! -f 
${CHANGESMNT}/${AUFS_CHANGESFILE}  ]
-                       then
-                               umount ${MEMORY}
-                               bad_msg "failed to find ${AUFS_CHANGESFILE} 
file on ${CHANGESDEV}"
-                               bad_msg "create an ext2 ${AUFS_CHANGESFILE} 
file on this device if you wish to use it for aufs"
-                               bad_msg "falling back to ramdisk based aufs for 
safety"
-                               mount -t tmpfs tmpfs ${MEMORY}
-                               XINO=${MEMORY}
-                       else
-                               XINO=${MEMORY}/xino
-                               mkdir -p ${XINO}
-                               mount -t tmpfs tmpfs ${XINO}
-                       fi
-               else
-                       good_msg "Mounting ramdisk to $MEMORY for aufs 
support..."
-                       mount -t tmpfs tmpfs ${MEMORY}
-                       XINO=${MEMORY}
+                               else
+                                       if [ ${nbpass} -eq 1 ]
+                                       then
+                                               good_msg "e2fsck ran 
successfully. Please check your files after bootup"
+                                       fi
+                                       break
+                               fi
+                       done
                fi
-
-               mkdir -p ${CHANGES}
-               mount -t aufs -n -o 
nowarn_perm,udba=none,xino=${XINO}/.aufs.xino,br:${CHANGES}=rw aufs ${UNION}
-               ret=$?
-               if [ "${ret}" -ne 0 ]
+               # mount tmpfs only in the case when changes= boot parameter was
+               # empty or we were not able to mount the storage device
+               if [ "${CDROOT}" -eq '1' -a ! -f 
${CHANGESMNT}/${AUFS_CHANGESFILE}  ]
                then
-                       bad_msg "Can't setup union ${UNION} in directory!"
-                       USE_AUFS_NORMAL=0
+                       umount ${MEMORY}
+                       bad_msg "failed to find ${AUFS_CHANGESFILE} file on 
${CHANGESDEV}"
+                       bad_msg "create an ext2 ${AUFS_CHANGESFILE} file on 
this device if you wish to use it for aufs"
+                       bad_msg "falling back to ramdisk based aufs for safety"
+                       mount -t tmpfs tmpfs ${MEMORY}
+                       XINO=${MEMORY}
+               else
+                       XINO=${MEMORY}/xino
+                       mkdir -p ${XINO}
+                       mount -t tmpfs tmpfs ${XINO}
                fi
        else
+               good_msg "Mounting ramdisk to $MEMORY for aufs support..."
+               mount -t tmpfs tmpfs ${MEMORY}
+               XINO=${MEMORY}
+       fi
+
+       mkdir -p ${CHANGES}
+       mount -t aufs -n -o 
nowarn_perm,udba=none,xino=${XINO}/.aufs.xino,br:${CHANGES}=rw aufs ${UNION}
+       ret=$?
+       if [ "${ret}" -ne 0 ]
+       then
+               bad_msg "Can't setup union ${UNION} in directory!"
                USE_AUFS_NORMAL=0
        fi
 }

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 5d4d2a1..894ec45 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -457,9 +457,9 @@ rundebugshell "before setting up the root filesystem"
 
 if [ "${CDROOT}" = '1' ]
 then
-       setup_aufs
        if [ "${USE_AUFS_NORMAL}" -eq '1' ]
        then
+                setup_aufs
                CHROOT=${UNION}
        else
                CHROOT=${NEW_ROOT}

Reply via email to