[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: malformed i-node-names at "TRANSPORT" directory ...
Matti Aarnio <mea@nic.funet.fi>
> However I don't know any LOCAL filesystems which exhibit this behaviour,
> and I do believe that even NFS is sane in this regard.
> Any other possibilities ? Anyone ?
Well, if the goal is to use rename(), and deal with its theoretical
lack of inode number preservatio, then this bit should provide the
guarantee:
char c[PATH_MAX];
statbuf st;
rename( a, b );
stat( st, b );
sprintf( c, "..../%d", st.st_inode );
if ( strcmp( b, c ) != 0 ) {
link( b, c );
unlink( b );
}
rename() and stat() can go wrong IRC, of course, and need result
checking. The link()/unlink() pair aren't ever going to be tested,
I'd guess, so keep it simple.
(Do I even understand the problem correctly?)
--Arnt