cephfs will use fake inodes when sizeof(ino_t) < 8. On Windows,
ino_t is defined as unsigned short (2B), which isn't enough.
On the other hand, most "native" Windows structures, including the
Dokan ones, are using 64b identifiers.
That being considered, we'll disable inode emulation on Windows.
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
free_faked_inos.insert(start, (uint32_t)-1 - start + 1);
last_used_faked_ino = 0;
last_used_faked_root = 0;
+ #ifdef _WIN32
+ // On Windows, sizeof(ino_t) is just 2. Despite that, most "native"
+ // Windows structures, including Dokan ones, are using 64B identifiers.
+ _use_faked_inos = false;
+ #else
_use_faked_inos = sizeof(ino_t) < 8 || cct->_conf->client_use_faked_inos;
+ #endif
}
void Client::_assign_faked_ino(Inode *in)