Parece ser uma situação "falsa", na qual você tem um arquivo exibido em um ponto de montagem, e esse arquivo tem um número menor que um no Inode Links.
Aqui está a estrutura cifs . cf_nlink
é o número de links de inode que um arquivo específico possui.
Esta parte do código mostra que ele preencherá todas as informações sobre o arquivos para cifs
if (symlink) {
fattr->cf_mode = S_IFLNK;
fattr->cf_dtype = DT_LNK;
} else if (fattr->cf_cifsattrs & ATTR_DIRECTORY) {
fattr->cf_mode = S_IFDIR | cifs_sb->mnt_dir_mode;
fattr->cf_dtype = DT_DIR;
/*
* Server can return wrong NumberOfLinks value for directories
* when Unix extensions are disabled - fake it.
*/
if (!tcon->unix_ext)
fattr->cf_flags |= CIFS_FATTR_UNKNOWN_NLINK;
} else {
fattr->cf_mode = S_IFREG | cifs_sb->mnt_file_mode;
fattr->cf_dtype = DT_REG;
/* clear write bits if ATTR_READONLY is set */
if (fattr->cf_cifsattrs & ATTR_READONLY)
fattr->cf_mode &= ~(S_IWUGO);
/*
* Don't accept zero nlink from non-unix servers unless
* delete is pending. Instead mark it as unknown.
*/
if ((fattr->cf_nlink < 1) && !tcon->unix_ext &&
!info->DeletePending) {
cifs_dbg(1, "bogus file nlink value %u\n",
fattr->cf_nlink);
fattr->cf_flags |= CIFS_FATTR_UNKNOWN_NLINK;
}
}
Significa : se é um link simbólico, basta definir os atributos. Se é um diretório, o servidor pode retornar um número errado de links quando as extensões Unix são desativadas, então, apenas mascare-o com "não sei quantos nlinks eu tenho" CIFS_FATTR_UNKNOWN_NLINK
no lado do cliente do Linux CIFS. / p>
No entanto, pode acontecer que um ficheiro tenha cf_nlink < 1
e não seja um ficheiro com uma acção de eliminação a decorrer ( !info->DeletePending
), nem as extensões Unix disponíveis ( tcon->unix_ext
) são estranhas. Um arquivo sem hardlinks e que não está sendo excluído, você receberá a mensagem: CIFS VFS: bogus file nlink value 0
Compreendo perfeitamente a situação, mas não posso fornecer uma solução para isso. Talvez forçando extensões unix, já que você tem um unix no cliente e no site do servidor pode mascarar o problema.