Why does link(2) not support hard-linking across bind mount points
of the same underlying filesystem ?

Is it as simple as something like this patch below (minus the printk)?
Not likely, but then I'm not a filesystem guru.

???

--- old/fs/namei.c      2007-12-15 12:33:13.000000000 -0500
+++ linux/fs/namei.c    2007-12-18 17:37:04.000000000 -0500
@@ -2398,8 +2398,11 @@
        if (error)
                goto out;
        error = -EXDEV;
-       if (old_nd.mnt != nd.mnt)
-               goto out_release;
+       if (old_nd.mnt != nd.mnt) {
+               if (old_nd.mnt->mnt_sb != nd.mnt->mnt_sb)
+                       goto out_release;
+               printk("sys_linkat: old_nd.mnt != nd.mnt, but sb is the same. 
Continuing..\n");
+       }
        new_dentry = lookup_create(&nd, 0);
        error = PTR_ERR(new_dentry);
        if (IS_ERR(new_dentry))
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to