Loading fs/cifs/connect.c +20 −21 Original line number Diff line number Diff line Loading @@ -1653,14 +1653,14 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, * If yes, we have encountered a double deliminator * reset the NULL character to the deliminator */ if (tmp_end < end && tmp_end[1] == delim) if (tmp_end < end && tmp_end[1] == delim) { tmp_end[0] = delim; /* Keep iterating until we get to a single deliminator * OR the end /* Keep iterating until we get to a single * deliminator OR the end */ while ((tmp_end = strchr(tmp_end, delim)) != NULL && (tmp_end[1] == delim)) { while ((tmp_end = strchr(tmp_end, delim)) != NULL && (tmp_end[1] == delim)) { tmp_end = (char *) &tmp_end[2]; } Loading @@ -1669,8 +1669,10 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, tmp_end[0] = '\0'; options = (char *) &tmp_end[1]; } else /* Reached the end of the mount option string */ /* Reached the end of the mount option * string */ options = end; } /* Now build new password string */ temp_len = strlen(value); Loading Loading @@ -3493,18 +3495,15 @@ cifs_negotiate_rsize(struct cifs_tcon *tcon, struct smb_vol *pvolume_info) * MS-CIFS indicates that servers are only limited by the client's * bufsize for reads, testing against win98se shows that it throws * INVALID_PARAMETER errors if you try to request too large a read. * OS/2 just sends back short reads. * * If the server advertises a MaxBufferSize of less than one page, * assume that it also can't satisfy reads larger than that either. * * FIXME: Is there a better heuristic for this? * If the server doesn't advertise CAP_LARGE_READ_X, then assume that * it can't handle a read request larger than its MaxBufferSize either. */ if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_READ_CAP)) defsize = CIFS_DEFAULT_IOSIZE; else if (server->capabilities & CAP_LARGE_READ_X) defsize = CIFS_DEFAULT_NON_POSIX_RSIZE; else if (server->maxBuf >= PAGE_CACHE_SIZE) defsize = CIFSMaxBufSize; else defsize = server->maxBuf - sizeof(READ_RSP); Loading Loading
fs/cifs/connect.c +20 −21 Original line number Diff line number Diff line Loading @@ -1653,14 +1653,14 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, * If yes, we have encountered a double deliminator * reset the NULL character to the deliminator */ if (tmp_end < end && tmp_end[1] == delim) if (tmp_end < end && tmp_end[1] == delim) { tmp_end[0] = delim; /* Keep iterating until we get to a single deliminator * OR the end /* Keep iterating until we get to a single * deliminator OR the end */ while ((tmp_end = strchr(tmp_end, delim)) != NULL && (tmp_end[1] == delim)) { while ((tmp_end = strchr(tmp_end, delim)) != NULL && (tmp_end[1] == delim)) { tmp_end = (char *) &tmp_end[2]; } Loading @@ -1669,8 +1669,10 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, tmp_end[0] = '\0'; options = (char *) &tmp_end[1]; } else /* Reached the end of the mount option string */ /* Reached the end of the mount option * string */ options = end; } /* Now build new password string */ temp_len = strlen(value); Loading Loading @@ -3493,18 +3495,15 @@ cifs_negotiate_rsize(struct cifs_tcon *tcon, struct smb_vol *pvolume_info) * MS-CIFS indicates that servers are only limited by the client's * bufsize for reads, testing against win98se shows that it throws * INVALID_PARAMETER errors if you try to request too large a read. * OS/2 just sends back short reads. * * If the server advertises a MaxBufferSize of less than one page, * assume that it also can't satisfy reads larger than that either. * * FIXME: Is there a better heuristic for this? * If the server doesn't advertise CAP_LARGE_READ_X, then assume that * it can't handle a read request larger than its MaxBufferSize either. */ if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_READ_CAP)) defsize = CIFS_DEFAULT_IOSIZE; else if (server->capabilities & CAP_LARGE_READ_X) defsize = CIFS_DEFAULT_NON_POSIX_RSIZE; else if (server->maxBuf >= PAGE_CACHE_SIZE) defsize = CIFSMaxBufSize; else defsize = server->maxBuf - sizeof(READ_RSP); Loading