← Back to team overview

kernel-packages team mailing list archive

[Bug 1214500] Re: consistent failure with overlayfs and unix sockets

 

one simple little test that i see differing results depending on kernel is 'mkfifo foo && ln foo bar'.
Heres a test script that demos that, and output on precise, raring, saucy (no containers used).

== raring: 3.8.0-27-generic ==
$ ls -ld .
drwxrwxrwt 5 root root 4096 Aug 21 19:16 .
$ sudo rm -Rf lower upper mp
$ mkdir lower upper mp
$ sh -c 'echo hi > lower/f1.txt'
$ sudo mount -t overlayfs -o lowerdir=/tmp/lower,upperdir=/tmp/upper overlay /tmp/mp
$ sh -c 'cd mp && touch foo && ln foo bar'
file link: user: PASS
$ sudo sh -c 'cd mp && touch foo && ln foo bar'
file link: root: PASS
$ sh -c 'cd mp && mkfifo foo && ln foo bar'
fifo link: user: PASS
$ sudo sh -c 'cd mp && mkfifo foo && ln foo bar'
fifo link: user: PASS

== saucy: 3.11.0-2-generic ==
$ ls -ld .
drwxrwxrwt 17 root root 32768 Aug 21 15:17 .
$ sudo rm -Rf lower upper mp
[sudo] password for smoser: 
$ mkdir lower upper mp
$ sh -c 'echo hi > lower/f1.txt'
$ sudo mount -t overlayfs -o lowerdir=/tmp/lower,upperdir=/tmp/upper overlay /tmp/mp
$ sh -c 'cd mp && touch foo && ln foo bar'
file link: user: PASS
$ sudo sh -c 'cd mp && touch foo && ln foo bar'
file link: root: PASS
$ sh -c 'cd mp && mkfifo foo && ln foo bar'
fifo link: user: PASS
$ sudo sh -c 'cd mp && mkfifo foo && ln foo bar'
fifo link: user: PASS

== precise: 3.2.0-51-virtual ==
$ ls -ld .
drwxrwxrwt 8 root root 4096 Aug 21 19:18 .
$ sudo rm -Rf lower upper mp
$ mkdir lower upper mp
$ sh -c 'echo hi > lower/f1.txt'
$ sudo mount -t overlayfs -o lowerdir=/tmp/lower,upperdir=/tmp/upper overlay /tmp/mp
$ sh -c 'cd mp && touch foo && ln foo bar'
file link: user: PASS
$ sudo sh -c 'cd mp && touch foo && ln foo bar'
file link: root: PASS
$ sh -c 'cd mp && mkfifo foo && ln foo bar'
ln: failed to create hard link `bar' => `foo': Operation not permitted
fifo link: user: FAIL[1]
$ sudo sh -c 'cd mp && mkfifo foo && ln foo bar'
fifo link: user: PASS


** Attachment added: "testme.sh"
   https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1214500/+attachment/3781175/+files/testme.sh

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1214500

Title:
  consistent failure with overlayfs and unix sockets

Status in “linux” package in Ubuntu:
  Incomplete
Status in “lxc” package in Ubuntu:
  New

Bug description:
  Seems like overlayfs and unix sockets are not playing well. It might
  be racy, as it fails consistently on my laptop with an SSD, whereas
  for smoser it only failed a single time.

  Steps to reproduce:

  REL="precise"
  $ sudo lxc-create -n source-$REL-amd64 -t ubuntu-cloud -- \
     --release=$REL --arch=amd64

  ## clone via overlayfs ##
  $ sudo lxc-clone --snapshot -B overlayfs -o source-$REL-amd64 -n $REL-overlayfs-01

  $ sudo lxc-start -n $REL-overlayfs-01

  
  ### inside ###
  $ sudo apt-get update && sudo apt-get install supervisor -y

  $ sudo service supervisor stop
  $ sudo sed -i.dist 's,var/run/*supervisor.sock,srv/supervisor.sock,' /etc/supervisor/supervisord.conf
  $ sudo service supervisor start
  $ sudo supervisorctl maintail
  unix:///srv/supervisor.sock refused connection

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