If try_cslist_get returns false, it indicates that the cslist has already
been dropped and the map has been truncated. So, this cslist should not
be handled.

https://pmc.acronis.work/browse/VSTOR-76384

Signed-off-by: Yuriy Vasilev <yuriy.vasi...@virtuozzo.com>
---
 fs/fuse/kio/pcs/pcs_map.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/fuse/kio/pcs/pcs_map.c b/fs/fuse/kio/pcs/pcs_map.c
index 8c91b394c50f..683048f77701 100644
--- a/fs/fuse/kio/pcs/pcs_map.c
+++ b/fs/fuse/kio/pcs/pcs_map.c
@@ -305,7 +305,8 @@ again:
                list_move(&cs_link->link, &map_list);
 
                cs_list = cs_link_to_cs_list(cs_link);
-               cslist_get(cs_list);
+               if (!try_cslist_get(cs_list))
+                       continue;
                spin_unlock(&cs->lock);
 
                rcu_read_lock();
-- 
2.34.1

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to