I am using rocksdb v7.5. The db open fails once I try to open it using an external drive on MacOS Ventura. On Monterey, there is no issue.
The error message is as follows :
while fcntl(F_FULLFSYNC): /Volumes/SSD/new_db/000000.dbtmp: Inappropriate ioctl for device
I also tried using ldb tool to create a new db on the external drive and got the same error message:
./ldb --db=/Volumes/SSD/new_db --create_if_missing put a1 b1
Failed: IO error: while fcntl(F_FULLFSYNC): /Volumes/SSD/new_db/000000.dbtmp: Inappropriate ioctl for device
Is this a known issue? Do we have any solution for this?
For now, I commented out the following lines from CMakeLists.txt and built rocksdb library using the generated xcode project using cmake. That seems to resolve the issue.
Commented code-snippet is as follows :
check_cxx_symbol_exists(F_FULLFSYNC "fcntl.h" HAVE_FULLFSYNC)
if(HAVE_FULLFSYNC)
add_definitions(-DHAVE_FULLFSYNC)
endif()
Please advise.
Regards,
Nanda