@@ -52,6 +52,7 @@ static void cifs_prepare_write(struct netfs_io_subrequest *subreq)
52
52
struct netfs_io_stream * stream = & req -> rreq .io_streams [subreq -> stream_nr ];
53
53
struct TCP_Server_Info * server ;
54
54
struct cifsFileInfo * open_file = req -> cfile ;
55
+ struct cifs_sb_info * cifs_sb = CIFS_SB (wdata -> rreq -> inode -> i_sb );
55
56
size_t wsize = req -> rreq .wsize ;
56
57
int rc ;
57
58
@@ -63,6 +64,10 @@ static void cifs_prepare_write(struct netfs_io_subrequest *subreq)
63
64
server = cifs_pick_channel (tlink_tcon (open_file -> tlink )-> ses );
64
65
wdata -> server = server ;
65
66
67
+ if (cifs_sb -> ctx -> wsize == 0 )
68
+ cifs_negotiate_wsize (server , cifs_sb -> ctx ,
69
+ tlink_tcon (req -> cfile -> tlink ));
70
+
66
71
retry :
67
72
if (open_file -> invalidHandle ) {
68
73
rc = cifs_reopen_file (open_file , false);
@@ -160,10 +165,9 @@ static int cifs_prepare_read(struct netfs_io_subrequest *subreq)
160
165
server = cifs_pick_channel (tlink_tcon (req -> cfile -> tlink )-> ses );
161
166
rdata -> server = server ;
162
167
163
- if (cifs_sb -> ctx -> rsize == 0 ) {
168
+ if (cifs_sb -> ctx -> rsize == 0 )
164
169
cifs_negotiate_rsize (server , cifs_sb -> ctx ,
165
170
tlink_tcon (req -> cfile -> tlink ));
166
- }
167
171
168
172
rc = server -> ops -> wait_mtu_credits (server , cifs_sb -> ctx -> rsize ,
169
173
& size , & rdata -> credits );
0 commit comments