From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f46.google.com ([74.125.82.46]:32980 "EHLO mail-wm0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753808AbcCUNfu (ORCPT ); Mon, 21 Mar 2016 09:35:50 -0400 Received: by mail-wm0-f46.google.com with SMTP id l68so151863012wml.0 for ; Mon, 21 Mar 2016 06:35:49 -0700 (PDT) Date: Mon, 21 Mar 2016 14:35:45 +0100 From: Jordi Pujol Palomer To: Al Viro Cc: Linux-Fsdevel Subject: Re: [PATCH] fs/namei.c: Hard link and rename should check same device instead of same mount Message-ID: <20160321143545.78f1da92@localdomain> In-Reply-To: <20160320182251.GB17997@ZenIV.linux.org.uk> References: <20160316140514.778db799@localdomain> <20160316142516.GK17997@ZenIV.linux.org.uk> <20160320190625.5e4ef31f@localdomain> <20160320182251.GB17997@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/p=URER.u57bInw/wq7j+wg0" Sender: linux-fsdevel-owner@vger.kernel.org List-ID: --MP_/p=URER.u57bInw/wq7j+wg0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline El Sun, 20 Mar 2016 18:22:51 +0000 Al Viro escrigu=C3=A9: > ... until you consider the fun of moving subtrees between different > mounts. IMO it's a bloody bad idea; semantics would be hard to > define, not to mention that things that used to be on the same fs > might eventually get moved to different ones, and for those there's > obviously no way to do link(2) or rename(2) at all. >=20 Well I'm not an expert, think the boundary option should be only for bind mounts, and will work only when the filesystem supports it, as usual by now. The mountpoint can be moved, but the underlying device continues being the same; but sure it is more complicated, I understand, > What are you actually trying to achieve? There might be saner ways > to do it... Yes, now I see that the all the local bind may be replaced with symbolic links, # mount-list > mount-list.txt Thanks for your attention, Jordi Pujol i Palomer Enginyer T=C3=A8cnic Industrial --MP_/p=URER.u57bInw/wq7j+wg0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=mount-list.txt sysfs /sys sysfs nodev,noexec,nosuid,relatime,rw sysfs 0:17 proc /proc proc nodev,noexec,nosuid,relatime,rw proc 0:5 udev /dev devtmpfs mode=755,nosuid,nr_inodes=978001,relatime,rw,size=3912004k udev 0:6 devpts /dev/pts devpts gid=5,mode=620,noexec,nosuid,ptmxmode=000,relatime,rw devpts 0:14 tmpfs /run tmpfs mode=755,noexec,nosuid,relatime,rw,size=786088k tmpfs 0:18 tmpfs /lnet tmpfs mode=755,relatime,rw,size=7860880k tmpfs 0:19 /dev/sda1 /lnet/image ext2 errors=continue,noacl,noatime,nouser_xattr,ro /dev/sda1 8:1 /lnet/image/LneTLXQT64/00filesystem.squashfs /lnet/00filesystem.squashfs squashfs noatime,ro,loop=/dev/loop0 /dev/loop0 7:0 /lnet/image/LneTLXQT64/10interfaces.squashfs /lnet/10interfaces.squashfs squashfs noatime,ro,loop=/dev/loop1 /dev/loop1 7:1 /dev/sda2 /lnet/cowroot ext4 data=ordered,relatime,rw /dev/sda2 8:2 overlay / overlay lowerdir=/lnet/00filesystem.squashfs:/lnet/10interfaces.squashfs,relatime,rw,upperdir=/lnet/cowroot/LneTLXQTCOW/upper,workdir=/lnet/cowroot/LneTLXQTCOW/work overlay 0:20 tmpfs /tmp tmpfs nodev,nosuid,relatime,rw,size=7860880k,mode=1777 tmpfs 0:21 tmpfs /var/log tmpfs mode=755,nosuid,relatime,rw,size=7860880k tmpfs 0:22 tmpfs /var/tmp tmpfs nodev,nosuid,relatime,rw,size=7860880k,mode=1777 tmpfs 0:23 securityfs /sys/kernel/security securityfs nodev,noexec,nosuid,relatime,rw securityfs 0:16 tmpfs /dev/shm tmpfs nodev,nosuid,rw,mode=1777 tmpfs 0:24 tmpfs /run/lock tmpfs nodev,noexec,nosuid,relatime,rw,size=5120k,mode=1777 tmpfs 0:25 tmpfs /sys/fs/cgroup tmpfs mode=755,nodev,noexec,nosuid,ro tmpfs 0:26 cgroup /sys/fs/cgroup/systemd cgroup name=systemd,nodev,noexec,nosuid,relatime,release_agent=/lib/systemd/systemd-cgroups-agent,rw,xattr cgroup 0:27 pstore /sys/fs/pstore pstore nodev,noexec,nosuid,relatime,rw pstore 0:28 cgroup /sys/fs/cgroup/cpu cgroup cpu,nodev,noexec,nosuid,relatime,rw cgroup 0:29 systemd-1 /proc/sys/fs/binfmt_misc autofs direct,fd=27,maxproto=5,minproto=5,pgrp=1,relatime,rw,timeout=0 systemd-1 0:30 hugetlbfs /dev/hugepages hugetlbfs relatime,rw hugetlbfs 0:31 mqueue /dev/mqueue mqueue relatime,rw mqueue 0:15 debugfs /sys/kernel/debug debugfs relatime,rw debugfs 0:7 /lnet/image/LneTLXQT64 /boot none ro,bind /dev/sda1 8:1 /lnet/cowroot/LneTXFCEhome /home none rw,bind /dev/sda2 8:2 /lnet/cowroot/JPLive /home/JPLive none rw,bind /dev/sda2 8:2 /lnet/cowroot/JPLive /lnet/cowroot/LneTXFCEhome/JPLive none rw,bind /dev/sda2 8:2 /lnet/image/grub /boot/grub none ro,bind /dev/sda1 8:1 /lnet/image/grub /lnet/image/LneTLXQT64/grub none ro,bind /dev/sda1 8:1 /lnet/cowroot/JPLive/var-spool /var/spool none rw,bind /dev/sda2 8:2 /lnet/cowroot/LneTXFCEhome/root /root none rw,bind /dev/sda2 8:2 /lnet/cowroot/JPLive/apt-lib-amd64 /var/lib/apt none rw,bind /dev/sda2 8:2 /lnet/cowroot/JPLive/apt-cache-amd64 /var/cache/apt none rw,bind /dev/sda2 8:2 tmpfs /run/user/1001 tmpfs gid=100,mode=700,nodev,nosuid,relatime,rw,size=786088k,uid=1001 tmpfs 0:34 --MP_/p=URER.u57bInw/wq7j+wg0--