Provided by: libdpm-dev_1.13.0-1_amd64 bug


       rfio_rename - rename a file or directory


       #include <sys/types.h>
       #include "rfio_api.h"

       int rfio_rename (const char *oldpath, const char *newpath)


       rfio_rename renames a file or directory.

       oldpath and newpath must be of the same type, i.e. both regular files or both directories.

       If newpath exists already, it will be removed before the rename takes place. If newpath is
       a directory, it must be empty.

       When renaming a directory, newpath must not be a descendant of oldpath, i.e.  newpath must
       not contain a path prefix that names oldpath.

       Write  permission is required on both parents. If oldpath is a directory, write permission
       is required on it and if newpath is  an  existing  directory,  write  permission  is  also
       required on it.

       If any of the parents has the sticky bit S_ISVTX set, either

              the effective user ID of the requestor must match the owner ID of the file or

              the effective user ID of the requestor must match the owner ID of the directory or

              the file must be writable by the requestor or

              the requestor must be super-user.


       This  routine  returns 0 if the operation was successful or -1 if the operation failed. In
       the latter case, serrno is set appropriately.


       ENOENT       A component of oldpath prefix does not exist or oldpath or newpath is a  null

       EACCES       Search  permission  is  denied  on  a component of the path prefixes or write
                    permission on the parent directories is denied or oldpath is a directory  and
                    write permission is denied on oldpath or newpath.

       EFAULT       oldpath or newpath is a NULL pointer.

       EEXIST       newpath is an existing directory and is not empty.

       ENOTDIR      A component of the path prefixes is not a directory or oldpath is a directory
                    and newpath is an existing regular file.

       EISDIR       newpath is a directory while oldpath is a regular file.

       EINVAL       newpath is a descendant of oldpath.

       ENAMETOOLONG The length of oldpath or newpath exceeds CA_MAXPATHLEN or  the  length  of  a
                    path component exceeds CA_MAXNAMELEN.

       SENOSHOST    Host unknown.

       SENOSSERV    Service unknown.

       SECOMERR     Communication error.

       ERFXHOST     Cross-host rename is not supported.


       Castor_limits(4), rfio_chmod(3), rfio_unlink(3)


       LCG Grid Deployment Team