/// <exception cref="System.Exception"/> public Void Answer(InvocationOnMock invocation) { INodesInPath iip = fsd.GetINodesInPath(TestGetBlockLocations.FilePath, true); FSDirDeleteOp.Delete(fsd, iip, new INode.BlocksMapUpdateInfo(), new AList <INode>( ), Time.Now()); invocation.CallRealMethod(); return(null); }
/// <seealso> /// /// <see cref="UnprotectedRenameTo(FSDirectory, string, string, INodesInPath, INodesInPath, long, BlocksMapUpdateInfo, Org.Apache.Hadoop.FS.Options.Rename[]) /// "/> /// </seealso> /// <exception cref="System.IO.IOException"/> internal static void RenameTo(FSDirectory fsd, FSPermissionChecker pc, string src , string dst, INode.BlocksMapUpdateInfo collectedBlocks, bool logRetryCache, params Options.Rename[] options) { INodesInPath srcIIP = fsd.GetINodesInPath4Write(src, false); INodesInPath dstIIP = fsd.GetINodesInPath4Write(dst, false); if (fsd.IsPermissionEnabled()) { // Rename does not operate on link targets // Do not resolveLink when checking permissions of src and dst // Check write access to parent of src fsd.CheckPermission(pc, srcIIP, false, null, FsAction.Write, null, null, false); // Check write access to ancestor of dst fsd.CheckPermission(pc, dstIIP, false, FsAction.Write, null, null, null, false); } if (NameNode.stateChangeLog.IsDebugEnabled()) { NameNode.stateChangeLog.Debug("DIR* FSDirectory.renameTo: " + src + " to " + dst); } long mtime = Time.Now(); fsd.WriteLock(); try { if (UnprotectedRenameTo(fsd, src, dst, srcIIP, dstIIP, mtime, collectedBlocks, options )) { FSDirDeleteOp.IncrDeletedFileCount(1); } } finally { fsd.WriteUnlock(); } fsd.GetEditLog().LogRename(src, dst, mtime, logRetryCache, options); }