Merge branch '12913-secondary-mounts' refs #12913
[arvados.git] / sdk / go / arvados / collection_fs.go
index 7bbbaa492c71298157f3cfebc96dfade89966ae0..d8ee2a2b1c5175697bf39369274ff6c0a42e7310 100644 (file)
@@ -1078,6 +1078,10 @@ func (dn *dirnode) Rename(oldname, newname string) error {
        if !ok {
                return os.ErrNotExist
        }
+       if locked[oldinode] {
+               // oldinode cannot become a descendant of itself.
+               return ErrInvalidArgument
+       }
        if existing, ok := newdn.inodes[newname]; ok {
                // overwriting an existing file or dir
                if dn, ok := existing.(*dirnode); ok {