libceph: handle_one_map()
Separate osdmap handling from decoding and iterating over a bag of maps in a fresh MOSDMap message. This sets up the scene for the updated OSD client. Of particular importance here is the addition of pi->was_full, which can be used to answer "did this pool go full -> not-full in this map?". This is the key bit for supporting pool quotas. We won't be able to downgrade map_sem for much longer, so drop downgrade_write(). Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
@@ -376,6 +376,14 @@ void ceph_monc_got_map(struct ceph_mon_client *monc, int sub, u32 epoch)
|
||||
}
|
||||
EXPORT_SYMBOL(ceph_monc_got_map);
|
||||
|
||||
void ceph_monc_renew_subs(struct ceph_mon_client *monc)
|
||||
{
|
||||
mutex_lock(&monc->mutex);
|
||||
__send_subscribe(monc);
|
||||
mutex_unlock(&monc->mutex);
|
||||
}
|
||||
EXPORT_SYMBOL(ceph_monc_renew_subs);
|
||||
|
||||
/*
|
||||
* Register interest in the next osdmap
|
||||
*/
|
||||
|
Reference in New Issue
Block a user