···33Support deep tree mounts. Better support OS/2, Win9x (DOS) time stamps.44Allow null user to be specified on mount ("username="). Do not return55EINVAL on readdir when filldir fails due to overwritten blocksize66-(fixes FC problem)66+(fixes FC problem). Return error in rename 2nd attempt retry (ie report77+if rename by handle also fails, after rename by path fails, we were88+not reporting whether the retry worked or not).79810Version 1.45911------------
+9-5
fs/cifs/inode.c
···885885 kmalloc(2 * sizeof(FILE_UNIX_BASIC_INFO), GFP_KERNEL);886886 if (info_buf_source != NULL) {887887 info_buf_target = info_buf_source + 1;888888- rc = CIFSSMBUnixQPathInfo(xid, pTcon, fromName,889889- info_buf_source, cifs_sb_source->local_nls, 890890- cifs_sb_source->mnt_cifs_flags &891891- CIFS_MOUNT_MAP_SPECIAL_CHR);888888+ if (pTcon->ses->capabilities & CAP_UNIX)889889+ rc = CIFSSMBUnixQPathInfo(xid, pTcon, fromName,890890+ info_buf_source, 891891+ cifs_sb_source->local_nls,892892+ cifs_sb_source->mnt_cifs_flags &893893+ CIFS_MOUNT_MAP_SPECIAL_CHR);894894+ /* else rc is still EEXIST so will fall through to895895+ unlink the target and retry rename */892896 if (rc == 0) {893897 rc = CIFSSMBUnixQPathInfo(xid, pTcon, toName,894898 info_buf_target,···941937 cifs_sb_source->mnt_cifs_flags & 942938 CIFS_MOUNT_MAP_SPECIAL_CHR);943939 if (rc==0) {944944- CIFSSMBRenameOpenFile(xid, pTcon, netfid, toName,940940+ rc = CIFSSMBRenameOpenFile(xid, pTcon, netfid, toName,945941 cifs_sb_source->local_nls, 946942 cifs_sb_source->mnt_cifs_flags &947943 CIFS_MOUNT_MAP_SPECIAL_CHR);