HDFS-13602. Add checkOperation(WRITE) checks in FSNamesystem. Contributed by Chao Sun.
(cherry picked from commit ff013d2c952272f3176dcf624251b05d610503b5)
This commit is contained in:
parent
3d7e345823
commit
c6becec392
@ -1932,6 +1932,7 @@ LocatedBlocks getBlockLocations(String clientMachine, String srcArg,
|
||||
|
||||
if (!isInSafeMode() && res.updateAccessTime()) {
|
||||
String src = srcArg;
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
final long now = now();
|
||||
try {
|
||||
@ -2014,6 +2015,7 @@ void concat(String target, String [] srcs, boolean logRetryCache)
|
||||
FileStatus stat = null;
|
||||
boolean success = false;
|
||||
final FSPermissionChecker pc = getPermissionChecker();
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
@ -2117,6 +2119,7 @@ void createSymlink(String target, String link,
|
||||
throw new UnsupportedOperationException("Symlinks not supported");
|
||||
}
|
||||
FileStatus auditStat = null;
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
@ -5248,6 +5251,7 @@ void updatePipeline(
|
||||
String clientName, ExtendedBlock oldBlock, ExtendedBlock newBlock,
|
||||
DatanodeID[] newNodes, String[] newStorageIDs, boolean logRetryCache)
|
||||
throws IOException {
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
LOG.info("updatePipeline(" + oldBlock.getLocalBlock()
|
||||
+ ", newGS=" + newBlock.getGenerationStamp()
|
||||
+ ", newLength=" + newBlock.getNumBytes()
|
||||
@ -6484,6 +6488,7 @@ void deleteSnapshot(String snapshotRoot, String snapshotName,
|
||||
String rootPath = null;
|
||||
BlocksMapUpdateInfo blocksToBeDeleted = null;
|
||||
final FSPermissionChecker pc = getPermissionChecker();
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
@ -6523,6 +6528,7 @@ RollingUpgradeInfo queryRollingUpgrade() throws IOException {
|
||||
checkOperation(OperationCategory.READ);
|
||||
readLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.READ);
|
||||
if (!isRollingUpgrade()) {
|
||||
return null;
|
||||
}
|
||||
@ -6774,6 +6780,7 @@ long addCacheDirective(CacheDirectiveInfo directive,
|
||||
if (!flags.contains(CacheFlag.FORCE)) {
|
||||
cacheManager.waitForRescanIfNeeded();
|
||||
}
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
@ -6805,6 +6812,7 @@ void modifyCacheDirective(CacheDirectiveInfo directive,
|
||||
if (!flags.contains(CacheFlag.FORCE)) {
|
||||
cacheManager.waitForRescanIfNeeded();
|
||||
}
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
@ -6830,6 +6838,7 @@ void removeCacheDirective(long id, boolean logRetryCache) throws IOException {
|
||||
final String operationName = "removeCacheDirective";
|
||||
boolean success = false;
|
||||
String idStr = "{id: " + Long.toString(id) + "}";
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
try {
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
@ -6874,6 +6883,7 @@ BatchedListEntries<CacheDirectiveEntry> listCacheDirectives(
|
||||
void addCachePool(CachePoolInfo req, boolean logRetryCache)
|
||||
throws IOException {
|
||||
final String operationName = "addCachePool";
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
boolean success = false;
|
||||
String poolInfoStr = null;
|
||||
@ -6898,6 +6908,7 @@ void addCachePool(CachePoolInfo req, boolean logRetryCache)
|
||||
void modifyCachePool(CachePoolInfo req, boolean logRetryCache)
|
||||
throws IOException {
|
||||
final String operationName = "modifyCachePool";
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
boolean success = false;
|
||||
String poolNameStr = "{poolName: " +
|
||||
@ -6924,6 +6935,7 @@ void modifyCachePool(CachePoolInfo req, boolean logRetryCache)
|
||||
void removeCachePool(String cachePoolName, boolean logRetryCache)
|
||||
throws IOException {
|
||||
final String operationName = "removeCachePool";
|
||||
checkOperation(OperationCategory.WRITE);
|
||||
writeLock();
|
||||
boolean success = false;
|
||||
String poolNameStr = "{poolName: " + cachePoolName + "}";
|
||||
|
Loading…
x
Reference in New Issue
Block a user