HDFS-11904. Reuse iip in unprotectedRemoveXAttrs calls.
This commit is contained in:
parent
6a3fc685a9
commit
219f4c199e
|
@ -242,7 +242,7 @@ final class FSDirErasureCodingOp {
|
|||
|
||||
final List<XAttr> xattrs = Lists.newArrayListWithCapacity(1);
|
||||
xattrs.add(ecXAttr);
|
||||
FSDirXAttrOp.unprotectedRemoveXAttrs(fsd, srcIIP.getPath(), xattrs);
|
||||
FSDirXAttrOp.unprotectedRemoveXAttrs(fsd, srcIIP, xattrs);
|
||||
return xattrs;
|
||||
}
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ class FSDirXAttrOp {
|
|||
src = iip.getPath();
|
||||
checkXAttrChangeAccess(fsd, iip, xAttr, pc);
|
||||
|
||||
List<XAttr> removedXAttrs = unprotectedRemoveXAttrs(fsd, src, xAttrs);
|
||||
List<XAttr> removedXAttrs = unprotectedRemoveXAttrs(fsd, iip, xAttrs);
|
||||
if (removedXAttrs != null && !removedXAttrs.isEmpty()) {
|
||||
fsd.getEditLog().logRemoveXAttrs(src, removedXAttrs, logRetryCache);
|
||||
} else {
|
||||
|
@ -184,10 +184,9 @@ class FSDirXAttrOp {
|
|||
}
|
||||
|
||||
static List<XAttr> unprotectedRemoveXAttrs(
|
||||
FSDirectory fsd, final String src, final List<XAttr> toRemove)
|
||||
FSDirectory fsd, final INodesInPath iip, final List<XAttr> toRemove)
|
||||
throws IOException {
|
||||
assert fsd.hasWriteLock();
|
||||
INodesInPath iip = fsd.getINodesInPath(src, DirOp.WRITE);
|
||||
INode inode = FSDirectory.resolveLastINode(iip);
|
||||
int snapshotId = iip.getLatestSnapshotId();
|
||||
List<XAttr> existingXAttrs = XAttrStorage.readINodeXAttrs(inode);
|
||||
|
|
|
@ -931,7 +931,8 @@ public class FSEditLogLoader {
|
|||
}
|
||||
case OP_REMOVE_XATTR: {
|
||||
RemoveXAttrOp removeXAttrOp = (RemoveXAttrOp) op;
|
||||
FSDirXAttrOp.unprotectedRemoveXAttrs(fsDir, removeXAttrOp.src,
|
||||
INodesInPath iip = fsDir.getINodesInPath(removeXAttrOp.src, DirOp.WRITE);
|
||||
FSDirXAttrOp.unprotectedRemoveXAttrs(fsDir, iip,
|
||||
removeXAttrOp.xAttrs);
|
||||
if (toAddRetryCache) {
|
||||
fsNamesys.addCacheEntry(removeXAttrOp.rpcClientId,
|
||||
|
|
Loading…
Reference in New Issue