X-Git-Url: https://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2Fafs%2FLINUX24%2Fosi_vfsops.c;h=702177c0a3dfcf28d33685da9680abd27074cd60;hp=81aa3a019dabf27e916f130b555a9ed215c69d03;hb=76158df491f47de56d1febe1d1d2d17d316c9a74;hpb=4a531cb7069f3ced1aae5a1948d708a7f24539df diff --git a/src/afs/LINUX24/osi_vfsops.c b/src/afs/LINUX24/osi_vfsops.c index 81aa3a0..702177c 100644 --- a/src/afs/LINUX24/osi_vfsops.c +++ b/src/afs/LINUX24/osi_vfsops.c @@ -465,13 +465,17 @@ osi_linux_free_inode_pages(void) struct vcache *tvc, *nvc; extern struct vcache *afs_vhashT[VCSIZE]; + retry: for (i = 0; i < VCSIZE; i++) { for (tvc = afs_vhashT[i]; tvc; ) { int slept; nvc = tvc->hnext; - if (afs_FlushVCache(tvc, &slept)) /* slept always 0 for linux? */ + if (afs_FlushVCache(tvc, &slept)) printf("Failed to invalidate all pages on inode 0x%p\n", tvc); + if (slept) { + goto retry; + } tvc = nvc; } }