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>
(cherry picked from commit
618a3401682c6e0c4e78821b90226cde9020e769)
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)