IOError while trying to open rocksdb on external drive on MacOS Ventura

81 views
Skip to first unread message

Nanda

unread,
Sep 29, 2022, 12:36:31 AM9/29/22
to rocksdb
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
Reply all
Reply to author
Forward
0 new messages