@@ -115,8 +115,6 @@ const struct netfs_request_ops v9fs_req_ops = {
115115
116116static bool v9fs_release_folio (struct folio * folio , gfp_t gfp )
117117{
118- struct inode * inode = folio_inode (folio );
119-
120118 if (folio_test_private (folio ))
121119 return false;
122120#ifdef CONFIG_9P_FSCACHE
@@ -125,8 +123,8 @@ static bool v9fs_release_folio(struct folio *folio, gfp_t gfp)
125123 return false;
126124 folio_wait_fscache (folio );
127125 }
126+ fscache_note_page_release (v9fs_inode_cookie (V9FS_I (folio_inode (folio ))));
128127#endif
129- fscache_note_page_release (v9fs_inode_cookie (V9FS_I (inode )));
130128 return true;
131129}
132130
@@ -136,6 +134,7 @@ static void v9fs_invalidate_folio(struct folio *folio, size_t offset,
136134 folio_wait_fscache (folio );
137135}
138136
137+ #ifdef CONFIG_9P_FSCACHE
139138static void v9fs_write_to_cache_done (void * priv , ssize_t transferred_or_error ,
140139 bool was_async )
141140{
@@ -149,18 +148,19 @@ static void v9fs_write_to_cache_done(void *priv, ssize_t transferred_or_error,
149148 i_size_read (& v9inode -> netfs .inode ), 0 );
150149 }
151150}
151+ #endif
152152
153153static int v9fs_vfs_write_folio_locked (struct folio * folio )
154154{
155155 struct inode * inode = folio_inode (folio );
156- struct v9fs_inode * v9inode = V9FS_I (inode );
157- struct fscache_cookie * cookie = v9fs_inode_cookie (v9inode );
158156 loff_t start = folio_pos (folio );
159157 loff_t i_size = i_size_read (inode );
160158 struct iov_iter from ;
161159 size_t len = folio_size (folio );
162160 struct p9_fid * writeback_fid ;
163161 int err ;
162+ struct v9fs_inode __maybe_unused * v9inode = V9FS_I (inode );
163+ struct fscache_cookie __maybe_unused * cookie = v9fs_inode_cookie (v9inode );
164164
165165 if (start >= i_size )
166166 return 0 ; /* Simultaneous truncation occurred */
@@ -181,15 +181,17 @@ static int v9fs_vfs_write_folio_locked(struct folio *folio)
181181
182182 p9_client_write (writeback_fid , start , & from , & err );
183183
184+ #ifdef CONFIG_9P_FSCACHE
184185 if (err == 0 &&
185- fscache_cookie_enabled (cookie ) &&
186- test_bit (FSCACHE_COOKIE_IS_CACHING , & cookie -> flags )) {
186+ fscache_cookie_enabled (cookie ) &&
187+ test_bit (FSCACHE_COOKIE_IS_CACHING , & cookie -> flags )) {
187188 folio_start_fscache (folio );
188189 fscache_write_to_cache (v9fs_inode_cookie (v9inode ),
189- folio_mapping (folio ), start , len , i_size ,
190- v9fs_write_to_cache_done , v9inode ,
191- true);
190+ folio_mapping (folio ), start , len , i_size ,
191+ v9fs_write_to_cache_done , v9inode ,
192+ true);
192193 }
194+ #endif
193195
194196 folio_end_writeback (folio );
195197 p9_fid_put (writeback_fid );
@@ -300,7 +302,6 @@ static int v9fs_write_end(struct file *filp, struct address_space *mapping,
300302 loff_t last_pos = pos + copied ;
301303 struct folio * folio = page_folio (subpage );
302304 struct inode * inode = mapping -> host ;
303- struct v9fs_inode * v9inode = V9FS_I (inode );
304305
305306 p9_debug (P9_DEBUG_VFS , "filp %p, mapping %p\n" , filp , mapping );
306307
@@ -320,7 +321,10 @@ static int v9fs_write_end(struct file *filp, struct address_space *mapping,
320321 if (last_pos > inode -> i_size ) {
321322 inode_add_bytes (inode , last_pos - inode -> i_size );
322323 i_size_write (inode , last_pos );
323- fscache_update_cookie (v9fs_inode_cookie (v9inode ), NULL , & last_pos );
324+ #ifdef CONFIG_9P_FSCACHE
325+ fscache_update_cookie (v9fs_inode_cookie (V9FS_I (inode )), NULL ,
326+ & last_pos );
327+ #endif
324328 }
325329 folio_mark_dirty (folio );
326330out :
0 commit comments