Debian Bug report logs - #836211
dpkg: Cannot upgrade some packages on overlayfs: Invalid cross-device link

version graph

Package: linux; Maintainer for linux is Debian Kernel Team <[email protected]>;

Affects: dpkg

Reported by: Felipe Sateler <[email protected]>

Date: Wed, 31 Aug 2016 15:18:06 UTC

Severity: normal

Tags: upstream

Found in versions 4.12.6-1, 4.6.4-1

Forwarded to [email protected]

Full log


🔗 View this message in rfc822 format

X-Loop: [email protected]
Subject: Bug#836211: dpkg: Cannot upgrade some packages on overlayfs: Invalid cross-device link
Reply-To: Guillem Jover <[email protected]>, [email protected]
Resent-From: Guillem Jover <[email protected]>
Resent-To: [email protected]
Resent-CC: Dpkg Developers <[email protected]>
X-Loop: [email protected]
Resent-Date: Sat, 17 Sep 2016 15:39:02 +0000
Resent-Message-ID: <[email protected]>
Resent-Sender: [email protected]
X-Debian-PR-Message: followup 836211
X-Debian-PR-Package: dpkg
X-Debian-PR-Keywords: 
X-Debian-PR-Source: dpkg
Received: via spool by [email protected] id=B836211.147412657221915
          (code B ref 836211); Sat, 17 Sep 2016 15:39:02 +0000
Received: (at 836211) by bugs.debian.org; 17 Sep 2016 15:36:12 +0000
X-Spam-Checker-Version: SpamAssassin 3.4.0-bugs.debian.org_2005_01_02
	(2014-02-07) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-9.7 required=4.0 tests=BAYES_00,FROMDEVELOPER,
	HAS_BUG_NUMBER,MURPHY_DRUGS_REL8,RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,URIBL_CNKR
	autolearn=ham autolearn_force=no version=3.4.0-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 6; hammy, 150; neutral, 178; spammy,
	0. spammytokens: hammytokens:0.000-+--H*F:U*guillem,
	0.000-+--H*rp:D*master.debian.org, 0.000-+--H*r:guillem, 0.000-+--H*RU:216,
	0.000-+--Hx-spam-relays-external:216
Received: from master.debian.org ([2001:41b8:202:deb:216:36ff:fe40:4001])
	from C=NA,ST=NA,L=Ankh Morpork,O=Debian SMTP,OU=Debian SMTP CA,CN=master.debian.org,[email protected] (verified)
	by buxtehude.debian.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
	(Exim 4.84_2)
	(envelope-from <[email protected]>)
	id 1blHf2-0005gt-Bd
	for [email protected]; Sat, 17 Sep 2016 15:36:12 +0000
Received: from guillem by master.debian.org with local (Exim 4.84_2)
	(envelope-from <[email protected]>)
	id 1blHf0-0003tt-FI; Sat, 17 Sep 2016 15:36:10 +0000
Date: Sat, 17 Sep 2016 17:36:09 +0200
From: Guillem Jover <[email protected]>
To: Felipe Sateler <[email protected]>, [email protected]
Cc: [email protected]
Message-ID: <[email protected]>
References: <147265657047.31705.7496372748096616425.reportbug@felipepc>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <147265657047.31705.7496372748096616425.reportbug@felipepc>
User-Agent: NeoMutt/20160910 (1.7.0)
Control: reassign -1 linux
Control: affects -1 dpkg

Hi!

[ Reassigning to linux, where this can be fixed. Upstream has provided
  a preliminary patch to this bug report, which might need testing and
  perhaps some polishing? Trimmed irrelevant information. ]

On Wed, 2016-08-31 at 12:16:10 -0300, Felipe Sateler wrote:
> Package: dpkg
> Version: 1.18.10
> Severity: normal

> overlayfs does not support renaming directories when the directories
> live in the lower filesystem:
> 
>  * Directory renames only allowed on "pure upper" (already created on
>  * upper filesystem, never copied up).  Directories which are on lower or
>  * are merged may not be renamed.  For these -EXDEV is returned and
>  * userspace has to deal with it.  This means, when copying up a
>  * directory we can rely on it and ancestors being stable.
> 
> https://github.com/torvalds/linux/blob/v4.8-rc2/fs/overlayfs/copy_up.c#L318-L322
> 
> Unfortunately this means that dpkg fails at least in the case where a
> directory is converted into a file: apt 1.3~rc2 moves
> /usr/share/bug/apt/script to /usr/share/bug/apt . This causes dpkg to
> fail when running in an overlayfs with the following error:
> 
> # dpkg -i /var/cache/apt/archives/apt_1.3~rc3_amd64.deb 
> (Reading database ... 11401 files and directories currently installed.)
> Preparing to unpack .../archives/apt_1.3~rc3_amd64.deb ...
> Unpacking apt (1.3~rc3) over (1.3~rc2) ...
> dpkg: error processing archive
> /var/cache/apt/archives/apt_1.3~rc3_amd64.deb (--install):
>  unable to move aside './usr/share/bug/apt' to install new version: Invalid cross-device link
> dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
> Processing triggers for libc-bin (2.23-5) ...
> Errors were encountered while processing:
>  /var/cache/apt/archives/apt_1.3~rc3_amd64.deb
> 
> I don't know what the correct workaround should be.
> 
> This can break pre-build upgrades in sbuild when the schroot is of
> overlayfs type.

> -- System Information:
> Debian Release: stretch/sid
>   APT prefers unstable-debug
>   APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
> 
> Kernel: Linux 4.6.0-1-amd64 (SMP w/4 CPU cores)

Thanks,
Guillem

Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Mon May 12 03:00:27 2025; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.