Messages in this thread | | | Date | Fri, 29 Dec 2006 10:02:23 +0000 | From | Pavel Machek <> | Subject | Re: Finding hardlinks |
| |
Hi!
> >>If user (or script) doesn't specify that flag, it > >>doesn't help. I think > >>the best solution for these filesystems would be > >>either to add new syscall > >> int is_hardlink(char *filename1, char *filename2) > >>(but I know adding syscall bloat may be objectionable) > > > >it's also the wrong api; the filenames may have been > >changed under you > >just as you return from this call, so it really is a > >"was_hardlink_at_some_point()" as you specify it. > >If you make it work on fd's.. it has a chance at least. > > Yes, but it doesn't matter --- if the tree changes under > "cp -a" command, no one guarantees you what you get. > int fis_hardlink(int handle1, int handle 2); > Is another possibility but it can't detect hardlinked > symlinks.
Ugh. Is it even legal to hardlink symlinks?
Anyway, cp -a is not the only application that wants to do hardlink detection. Pavel -- Thanks for all the (sleeping) penguins. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |