.d_delete = ncp_delete_dentry, }; /* * Note: leave the hash unchanged if the directory * is case-sensitive. */ static int ncp_hash_dentry(const struct dentry *dentry, struct qstr *this) { struct nls_table *t; unsigned long hash; int i; t = NCP_IO_TABLE(dentry); if (!ncp_case_sensitive(dentry->d_inode)) { hash = init_name_hash(); for (i=0; i<this->len ; i++) hash = partial_name_hash(ncp_tolower(t, this->name[i]), hash); this->hash = end_name_hash(hash); } return 0; } static int ncp_compare_dentry(const struct dentry *dentry, struct qstr *a, const struct qstr *b) { if (a->len != b->len)
/* */ static int ncp_hash_dentry(const struct dentry *dentry, const struct inode *inode, struct qstr *this) { if (!ncp_case_sensitive(inode)) { struct super_block *sb = dentry->d_sb; struct nls_table *t; unsigned long hash; int i; t = NCP_IO_TABLE(sb); hash = init_name_hash(); for (i=0; i<this->len ; i++) hash = partial_name_hash(ncp_tolower(t, this->name[i]), hash); this->hash = end_name_hash(hash); } return 0; } static int ncp_compare_dentry(const struct dentry *parent, const struct inode *pinode, const struct dentry *dentry, const struct inode *inode, unsigned int len, const char *str, const struct qstr *name) { if (len != name->len)