@@ -52,6 +52,8 @@ static void cifs_undirty_folios(struct inode *inode, loff_t start, unsigned int
52
52
53
53
end = (start + len - 1 ) / PAGE_SIZE ;
54
54
xas_for_each_marked (& xas , folio , end , PAGECACHE_TAG_DIRTY ) {
55
+ if (xas_retry (& xas , folio ))
56
+ continue ;
55
57
xas_pause (& xas );
56
58
rcu_read_unlock ();
57
59
folio_lock (folio );
@@ -81,6 +83,8 @@ void cifs_pages_written_back(struct inode *inode, loff_t start, unsigned int len
81
83
82
84
end = (start + len - 1 ) / PAGE_SIZE ;
83
85
xas_for_each (& xas , folio , end ) {
86
+ if (xas_retry (& xas , folio ))
87
+ continue ;
84
88
if (!folio_test_writeback (folio )) {
85
89
WARN_ONCE (1 , "bad %x @%llx page %lx %lx\n" ,
86
90
len , start , folio_index (folio ), end );
@@ -112,6 +116,8 @@ void cifs_pages_write_failed(struct inode *inode, loff_t start, unsigned int len
112
116
113
117
end = (start + len - 1 ) / PAGE_SIZE ;
114
118
xas_for_each (& xas , folio , end ) {
119
+ if (xas_retry (& xas , folio ))
120
+ continue ;
115
121
if (!folio_test_writeback (folio )) {
116
122
WARN_ONCE (1 , "bad %x @%llx page %lx %lx\n" ,
117
123
len , start , folio_index (folio ), end );
0 commit comments