Searched hist:cd045cb42a266882ac24bc21a3a8d03683c72954 (Results 1 – 3 of 3) sorted by relevance
/linux/fs/ceph/ |
H A D | super.h | diff cd045cb42a266882ac24bc21a3a8d03683c72954 Thu Nov 04 19:05:05 CET 2010 Sage Weil <sage@newdream.net> ceph: fix rdcache_gen usage and invalidate
We used to use rdcache_gen to indicate whether we "might" have cached pages. Now we just look at the mapping to determine that. However, some old behavior remains from that transition.
First, rdcache_gen == 0 no longer means we have no pages. That can happen at any time (presumably when we carry FILE_CACHE). We should not reset it to zero, and we should not check that it is zero.
That means that the only purpose for rdcache_revoking is to resolve races between new issues of FILE_CACHE and an async invalidate. If they are equal, we should invalidate. On success, we decrement rdcache_revoking, so that it is no longer equal to rdcache_gen. Similarly, if we success in doing a sync invalidate, set revoking = gen - 1. (This is a small optimization to avoid doing unnecessary invalidate work and does not affect correctness.)
Signed-off-by: Sage Weil <sage@newdream.net>
|
H A D | caps.c | diff cd045cb42a266882ac24bc21a3a8d03683c72954 Thu Nov 04 19:05:05 CET 2010 Sage Weil <sage@newdream.net> ceph: fix rdcache_gen usage and invalidate
We used to use rdcache_gen to indicate whether we "might" have cached pages. Now we just look at the mapping to determine that. However, some old behavior remains from that transition.
First, rdcache_gen == 0 no longer means we have no pages. That can happen at any time (presumably when we carry FILE_CACHE). We should not reset it to zero, and we should not check that it is zero.
That means that the only purpose for rdcache_revoking is to resolve races between new issues of FILE_CACHE and an async invalidate. If they are equal, we should invalidate. On success, we decrement rdcache_revoking, so that it is no longer equal to rdcache_gen. Similarly, if we success in doing a sync invalidate, set revoking = gen - 1. (This is a small optimization to avoid doing unnecessary invalidate work and does not affect correctness.)
Signed-off-by: Sage Weil <sage@newdream.net>
|
H A D | inode.c | diff cd045cb42a266882ac24bc21a3a8d03683c72954 Thu Nov 04 19:05:05 CET 2010 Sage Weil <sage@newdream.net> ceph: fix rdcache_gen usage and invalidate
We used to use rdcache_gen to indicate whether we "might" have cached pages. Now we just look at the mapping to determine that. However, some old behavior remains from that transition.
First, rdcache_gen == 0 no longer means we have no pages. That can happen at any time (presumably when we carry FILE_CACHE). We should not reset it to zero, and we should not check that it is zero.
That means that the only purpose for rdcache_revoking is to resolve races between new issues of FILE_CACHE and an async invalidate. If they are equal, we should invalidate. On success, we decrement rdcache_revoking, so that it is no longer equal to rdcache_gen. Similarly, if we success in doing a sync invalidate, set revoking = gen - 1. (This is a small optimization to avoid doing unnecessary invalidate work and does not affect correctness.)
Signed-off-by: Sage Weil <sage@newdream.net>
|