Hongyi Jia <jiayis...@gmail.com> wrote: > +bool __fscache_check_consistency(struct fscache_cookie *cookie) > +{ > + struct fscache_object *object; > + > + if (cookie->def->type != FSCACHE_COOKIE_TYPE_DATAFILE) > + return false; > + > + if (hlist_empty(&cookie->backing_objects)) > + return false; > + > + object = hlist_entry(cookie->backing_objects.first, > + struct fscache_object, cookie_link); > + > + return object->cache->ops->check_consistency(object); > +}
Hmmm... This isn't actually safe. You have to either: (1) hold cookie->lock whilst touching the object pointer when coming from the netfs side, or: (2) set up an operation to do this (as, say, __fscache_alloc_page() does). The problem is that you have nothing to defend against the object being withdrawn by the cache under you. David -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html