On 18 Apr 1999, Magnus Ahltorp wrote:
> > Magnus, can I look at your code?
>
> Sure, the code is in the Arla package at
> ftp://ftp.stacken.kth.se/pub/arla/arla-0.23.tar.gz and then in the
> file xfs/linux/xfs_inodeops.c.
>
> This code is not yet d_move-fixed.
Comments (from the first reading, so...):
a) test for ->i_sb looks odd - unless you have several superblocks
with the same ->s_dev (not a good idea with the current state of
fs/super.c) it is not needed - check is done in VFS.
b) what kind of aliases do you have? If they are honest hardlinks
- fine, just don't call d_move() - let VFS handle it. If it's something
along the lines of VFAT stuff (RIP ;-) things are trickier.
c) inodes of parent(s) are touched in process - at least ->i_mtime
is. Is it handled somewhere else or just missing?
d) do you keep meaningful ->i_nlink? It might be affected if the
thing you are moving is a directory.
Oh, and - what kind of stuff happens if you simply remove d_move()
call?