8230085: (fs) FileStore::isReadOnly is always true on macOS Catalina

Reviewed-by: alanb
This commit is contained in:
Brian Burkhalter 2019-09-13 16:03:31 -07:00
parent c0e1f9ee6c
commit c57ad7ffc0
4 changed files with 44 additions and 17 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -51,6 +51,20 @@ class BsdNativeDispatcher extends UnixNativeDispatcher {
*/
static native void endfsstat(long iter) throws UnixException;
/**
* int statfs(const char *path, struct statfs *buf);
* returns buf->f_mntonname (directory on which mounted)
*/
static byte[] getmntonname(UnixPath path) throws UnixException {
NativeBuffer pathBuffer = copyToNativeBuffer(path);
try {
return getmntonname0(pathBuffer.address());
} finally {
pathBuffer.release();
}
}
static native byte[] getmntonname0(long pathAddress) throws UnixException;
// initialize field IDs
private static native void initIDs();