That way the file_id.extid is consistenly filled for all cases
where we deliberately break lock coherency.
This will simplify further changes and give administrators more
flexibility.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
unsigned num_mount_entries;
struct fileid_mount_entry *mount_entries;
struct {
+ bool force_all_inodes;
bool force_all_dirs;
uint64_t extid;
size_t num_inodes;
{
size_t i;
+ if (data->nolock.force_all_inodes) {
+ return true;
+ }
+
if (S_ISDIR(sbuf->st_ex_mode) && data->nolock.force_all_dirs) {
return true;
}
data->mapping_fn = fileid_mapping_fsid;
} else if (strcmp("hostname", algorithm) == 0) {
data->mapping_fn = fileid_mapping_hostname;
+ data->nolock.force_all_inodes = true;
} else if (strcmp("fsname_norootdir", algorithm) == 0) {
data->mapping_fn = fileid_mapping_fsname;
rootdir_nolock = true;