mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
HCFS: chmod
This commit is contained in:
parent
d5197d6a50
commit
5f8c8caec6
|
@ -233,7 +233,26 @@ public class SeaweedFileSystem extends org.apache.hadoop.fs.FileSystem {
|
||||||
path = qualify(path);
|
path = qualify(path);
|
||||||
|
|
||||||
seaweedFileSystemStore.setOwner(path, owner, group);
|
seaweedFileSystemStore.setOwner(path, owner, group);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set permission of a path.
|
||||||
|
*
|
||||||
|
* @param path The path
|
||||||
|
* @param permission Access permission
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setPermission(Path path, final FsPermission permission) throws IOException {
|
||||||
|
LOG.debug("setPermission path: {}", path);
|
||||||
|
|
||||||
|
if (permission == null) {
|
||||||
|
throw new IllegalArgumentException("The permission can't be null");
|
||||||
|
}
|
||||||
|
|
||||||
|
path = qualify(path);
|
||||||
|
|
||||||
|
seaweedFileSystemStore.setPermission(path, permission);
|
||||||
}
|
}
|
||||||
|
|
||||||
Path qualify(Path path) {
|
Path qualify(Path path) {
|
||||||
|
|
|
@ -297,7 +297,33 @@ public class SeaweedFileSystemStore {
|
||||||
|
|
||||||
entryBuilder.setAttributes(attributesBuilder);
|
entryBuilder.setAttributes(attributesBuilder);
|
||||||
|
|
||||||
LOG.debug("setOwner path:{} entry:{}", path, entryBuilder, owner, group);
|
LOG.debug("setOwner path:{} entry:{}", path, entryBuilder);
|
||||||
|
|
||||||
|
filerGrpcClient.getBlockingStub().updateEntry(FilerProto.UpdateEntryRequest.newBuilder()
|
||||||
|
.setDirectory(getParentDirectory(path))
|
||||||
|
.setEntry(entryBuilder)
|
||||||
|
.build());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPermission(Path path, FsPermission permission) {
|
||||||
|
|
||||||
|
LOG.debug("setPermission path:{} permission:{}", path, permission);
|
||||||
|
|
||||||
|
FilerProto.Entry entry = lookupEntry(path);
|
||||||
|
if (entry == null) {
|
||||||
|
LOG.debug("setPermission path:{} entry:{}", path, entry);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
FilerProto.Entry.Builder entryBuilder = entry.toBuilder();
|
||||||
|
FilerProto.FuseAttributes.Builder attributesBuilder = entry.getAttributes().toBuilder();
|
||||||
|
|
||||||
|
attributesBuilder.setFileMode(permissionToMode(permission, entry.getIsDirectory()));
|
||||||
|
|
||||||
|
entryBuilder.setAttributes(attributesBuilder);
|
||||||
|
|
||||||
|
LOG.debug("setPermission path:{} entry:{}", path, entryBuilder);
|
||||||
|
|
||||||
filerGrpcClient.getBlockingStub().updateEntry(FilerProto.UpdateEntryRequest.newBuilder()
|
filerGrpcClient.getBlockingStub().updateEntry(FilerProto.UpdateEntryRequest.newBuilder()
|
||||||
.setDirectory(getParentDirectory(path))
|
.setDirectory(getParentDirectory(path))
|
||||||
|
|
Loading…
Reference in a new issue