[Bug 1047659] Re: mountall fails to activate swap if device contains multiple filesystem signatures

a7x 1047659 at bugs.launchpad.net
Sun Sep 9 00:43:23 UTC 2012


> I'm not sure it's at all possible for us to address this in mountall safely 
> (i.e., without breaking other cases). And since blkid knows the disk usage 
> is ambiguous, blkid doesn't seem to be doing anything wrong here either.

Agreed -- altering mountall to try to work around mkswap's bug does seem
risky.

> The only actionable bug here seems to be the mkswap one.

What about altering mountall to log the failure to activate swap
partition?  Then users would have something they could google.

** Summary changed:

- mountall fails to activate swap if device contains multiple filesystem signatures
+ mountall silently fails to activate swap if device contains multiple filesystem signatures

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mountall in Ubuntu.
https://bugs.launchpad.net/bugs/1047659

Title:
  mountall silently fails to activate swap if device contains multiple
  filesystem signatures

Status in “mountall” package in Ubuntu:
  New

Bug description:
  If the swap device (LVM logical volume on an encrypted physical volume
  in my case) has multiple filesystem signatures (as reported by 'wipefs
  -n /path/to/swap/device'), mountall will fail to activate the swap
  even though the swap device is listed in /etc/fstab.  Manually running
  'swapon -a' does work, however.

  Also, blkid does not list the swap device in its output even though
  lsblk does.  I'm assuming this is related to the mountall problem.

  The following script replecates the situation by creating a looback
  block device with multiple filesystem signatures:

  -------------
  #!/bin/sh

  log() { printf %s\\n "$*"; }
  error() { log "ERROR: $*" >&2; }
  fatal() { error "$*"; exit 1; }
  try() { "$@" || fatal "'$*' failed"; }

  # this script's name
  myname=$(try basename "$0") || exit 1
  # temporary file for storing the swap partition
  FS=${myname}.tmpfs
  # which loopback device to use for ${FS}
  LOOP=/dev/loop0

  command -v mkfs.ufs >/dev/null \
      || fatal "mkfs.ufs not found; please install the ufsutils package"

  log "creating ${LOOP} using a temporary 128MiB file..."
  try dd if=/dev/zero of="${FS}" bs=1M count=128 2>/dev/null
  try losetup "${LOOP}" "${FS}"
  log "formatting ${LOOP} as UFS2..."
  try mkfs.ufs "${LOOP}" >/dev/null
  log "formatting ${LOOP} as swap..."
  try mkswap "${LOOP}" >/dev/null
  log "running 'wipefs -n ${LOOP}'..."
  try wipefs -n "${LOOP}"
  log "running 'blkid -p ${LOOP}'..."
  blkid -p "${LOOP}"
  log "cleaning up..."
  try losetup -d "${LOOP}"
  try rm "${FS}"
  -------------

  Note how wipefs reports multiple filesystem signatures:

  offset               type
  ----------------------------------------------------------------
  0x1055c              ufs   [filesystem]

  0xff6                swap   [other]
                       UUID:  5ac922dc-3bc5-463f-a2e8-a692ee5c293a

  Also note how blkid does not list the UUID of the swap device.  It
  prints this error message instead:

      ambivalent result (probably more filesystems on the device, use
  wipefs(8) to see more details)

  $ lsb_release -rd
  Description:    Ubuntu 12.04.1 LTS
  Release:        12.04
  $ apt-cache policy mountall
  mountall:
    Installed: 2.36
    Candidate: 2.36
    Version table:
   *** 2.36 0
          500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
          100 /var/lib/dpkg/status
  $ apt-cache policy util-linux
  util-linux:
    Installed: 2.20.1-1ubuntu3
    Candidate: 2.20.1-1ubuntu3
    Version table:
   *** 2.20.1-1ubuntu3 0
          500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
          100 /var/lib/dpkg/status
  $ apt-cache policy ufsutils
  ufsutils:
    Installed: 8.2-3
    Candidate: 8.2-3
    Version table:
   *** 8.2-3 0
          500 http://us.archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages
          100 /var/lib/dpkg/status

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mountall/+bug/1047659/+subscriptions




More information about the foundations-bugs mailing list