+struct dfs_info3_param { + int flags; /* DFSREF_REFERRAL_SERVER, DFSREF_STORAGE_SERVER*/ + int PathConsumed; + int server_type; + int ref_flag; + char *path_name; + char *node_name; +}; Please avoid mixed case struct member names. + +static inline void init_dfs_info_param(struct dfs_info3_param *param) +{ + memset(param, 0, sizeof(struct dfs_info3_param)); +} And open-coded memset at the caller would be more readable.. + +static inline void free_dfs_info_param(struct dfs_info3_param *param) +{ + if (param) { + kfree(param->path_name); + kfree(param->node_name); + kfree(param); + } +} This one is completely unused. --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c @@ -3879,8 +3879,8 @@ GetInodeNumOut: int CIFSGetDFSRefer(const int xid, struct cifsSesInfo *ses, const unsigned char *searchName, - unsigned char **targetUNCs, - unsigned int *number_of_UNC_in_array, + struct dfs_info3_param **targetNode, + unsigned int *number_of_Nodes_in_array, const struct nls_table *nls_codepage, int remap) This function already was huge before the patch and grows even more. Please consider refactoring it into small, readable helpers. + cFYI(1, + ("Decoding GetDFSRefer response BCC: %d Offset %d", + pSMBr->ByteCount, data_offset)); Very strange formatting.. +/* BB: Probably we do not need this function any more. + * Anyway it never worked. May be one day we well need it. + */ int connect_to_dfs_path(int xid, struct cifsSesInfo *pSesInfo, const char *old_path, const struct nls_table *nls_codepage, int remap) { + /* Please just remove such dead code entirely. If people want to resurrect it for some reason they still have the git archives. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html