anchor.diff:          false ->
               ok
       end,
  +    fslogic_times:update_mtime_ctime(SourceFileCtx3, time_utils:cluster_time_seconds()),
  +    update_parent_times(SourceParentFileCtx2, TargetParentFileCtx),
       #fuse_response{
           status = #status{code = ?OK},
           fuse_response = #file_renamed{
  
positive.code: 
      case StoragePathType of
        ?FLAT_STORAGE_PATH ->
          rename_file_on_flat_storage(UserCtx, SourceFileCtx, TargetParentFileCtx,
            TargetName, false);
        _ ->
          copy_and_remove(UserCtx, SourceFileCtx, TargetParentFileCtx, TargetName)
      end;
  
negative.code: 
      case StoragePathType of
        ?FLAT_STORAGE_PATH ->
          check_permissions:execute(
                [traverse_ancestors, ?delete, {?delete_subcontainer, parent},
                    {traverse_ancestors, 3}, {?traverse_container, 3}, {?add_subcontainer, 3}],
                [UserCtx, SourceFileCtx, TargetParentFileCtx, TargetName, true],
                fun rename_file_on_flat_storage/5);
        _ ->
          ok = logical_file_manager:unlink(SessId, {guid, TargetGuid}, false),
          copy_and_remove(UserCtx, SourceFileCtx, TargetParentFileCtx, TargetName)
  