From: "Richard Farina" <zerochaos@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/genkernel:aufs commit in: defaults/
Date: Wed, 29 Apr 2015 19:04:07 +0000 (UTC) [thread overview]
Message-ID: <1430328705.d8f76f80288f19c0d2d90e9c4999879ad0c61d1e.zerochaos@gentoo> (raw)
commit: d8f76f80288f19c0d2d90e9c4999879ad0c61d1e
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: Wed Apr 29 17:31:45 2015 +0000
URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d8f76f80
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 a9ec5ab..14800e4 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}
next reply other threads:[~2015-04-29 19:04 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-29 19:04 Richard Farina [this message]
-- strict thread matches above, loose matches on Subject: below --
2015-04-29 19:04 [gentoo-commits] proj/genkernel:aufs commit in: defaults/ Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2014-09-23 0:21 Richard Farina
2014-09-23 0:21 Richard Farina
2014-09-05 16:11 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-05-24 21:35 Richard Farina
2014-05-24 21:35 Richard Farina
2014-05-24 21:35 Richard Farina
2014-05-22 20:28 Richard Farina
2014-05-22 20:28 Richard Farina
2014-05-22 20:28 Richard Farina
2014-05-22 20:28 Richard Farina
2014-03-17 19:38 Robin H. Johnson
2014-03-17 19:32 Robin H. Johnson
2014-03-17 19:20 Robin H. Johnson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1430328705.d8f76f80288f19c0d2d90e9c4999879ad0c61d1e.zerochaos@gentoo \
--to=zerochaos@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox