[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#547338: marked as done (rename()/link() really ought to be able to deal with bind-mounts)



Your message dated Wed, 17 Feb 2010 18:55:19 +0100
with message-id <20100217175519.GD17517@inutil.org>
and subject line Re: kernel limitation
has caused the Debian Bug report #547338,
regarding rename()/link() really ought to be able to deal with bind-mounts
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
547338: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=547338
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.9-26
Severity: normal
File: /lib/libc-2.9.so

This may be a kernel bug, if so, please reassign.

In the following, /flics is a bind-mount of /srv/flics, as
exemplified by the stat output (device number and inode identical).
/bin/mv ends up with copy-delete (new inode) rather than rename:

vizier:~|master|% stat -c %D/%i /flics /srv/flics
fd05/480513
fd05/480513
vizier:~|master|% touch /flics/foo
vizier:~|master|% stat -c %D/%i /flics/foo
fd05/206081
vizier:~|master|% mv /flics/foo /srv/flics/bar
vizier:~|master|% stat -c %D/%i /srv/flics/bar
fd05/206082


The problem is this (thanks, strace):

  rename("/flics/foo", "/srv/flics/bar") = -1 EXDEV (Invalid cross-device link)

so rename() does not properly detect that the source and destination
directories are actually the same. The problem seems identical for
link().

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-1-686 (SMP w/1 CPU core)
Locale: LANG=en_GB, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libc6 depends on:
ii  libc-bin                      2.9-26     GNU C Library: Binaries
ii  libgcc1                       1:4.4.1-4  GCC support library

Versions of packages libc6 recommends:
ii  libc6-i686                    2.9-26     GNU C Library: Shared libraries [i

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]         1.5.27     Debian configuration management sy
pn  glibc-doc                     <none>     (no description available)
ii  locales                       2.9-26     GNU C Library: National Language (

-- debconf-show failed


-- 
 .''`.   martin f. krafft <madduck@d.o>      Related projects:
: :'  :  proud Debian developer               http://debiansystem.info
`. `'`   http://people.debian.org/~madduck    http://vcs-pkg.org
  `-  Debian - when you have better things to do than fixing systems

Attachment: digital_signature_gpg.asc
Description: Digital signature (see http://martin-krafft.net/gpg/)


--- End Message ---
--- Begin Message ---
martin f krafft wrote:
> reassign 547338 linux-2.6
> severity 547338 wishlist
> retitle 547338 rename()/link() really ought to be able to deal with bind-mounts
> thanks
> 
> This is a known limitation (see rename(2) manpage) and I am sorry
> for filing it prematurely. I am reassigning to kernel as a wishlist
> because it really can't (or ought not) be hard to have this work.

Closing, this only clutters the BTS. If you want to see this changed,
start a discussion on linux-kernel on how this can be implemented in
a correct manner.

Cheers,
        Moritz


--- End Message ---

Reply to: