MHD.Tayseer Alqouatli a écrit :
Hi all:
When the (vfs_rename_dir) or (vfs_rename_other) calls my underlying
file system's inode::rename(old_dir, old_dentry, new_dir, new_dentry)
What does the VFS expects from my filesystem to do when ?
First .. sure the VFS expects my fs to do the actual renaming on disk
blocks or update the metadata database or whatsoever, but what are
the changes it expect regarding it's own object (which are: old_dir,
old_dentry, new_dir, new_dentry in this case)
I've expected that I've to do a kind of association between the
new_dentry and the old_inode (as the old_inode will become the inode
of the new_dentry after renaming) but when i tried to read some
implementation of the inode::rename method on some simple file
systems to see how it works I couldn't figure out when or where such
an association is done (if it's really done) all that i've found is
some changes in the counters i couldn't understand well
Have i miss something ? any pointers will be helpful
Thanks in advance
MHD
Hi,
if you just rename the file, the inode structure should't change.
But the dentry should change. Especially the d_name field.
But also note that you have to change the parent directory. A
directory is a file which contains a list of his files. So you have to
change this list.
I think you juste have to do these operations. But im not a fs expert :)
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/