/* * hold_metapage and put_metapage are used in conjunction. The page lock * is not dropped between the two, so no other threads can get or release * the metapage
*/ externvoid hold_metapage(struct metapage *); externvoid put_metapage(struct metapage *);
/* * This serializes access to mp->lsn when metapages are added to logsynclist * without setting nohomeok. i.e. updating imap & dmap
*/ staticinlinevoid metapage_wait_for_io(struct metapage *mp)
{ if (test_bit(META_io, &mp->flag))
folio_wait_writeback(mp->folio);
}
/* * This is called when already holding the metapage
*/ staticinlinevoid _metapage_homeok(struct metapage *mp)
{ if (!--mp->nohomeok)
folio_put(mp->folio);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.