release pages_lock while trying to wake data as try_to_wake_data takes all kinds of locks and waits on condition that read_thread is supposed to wake, but read_thread may decide to cancel_all_and_reconnect() and cancelling will probably try to take pages_lock
release pages_lock while trying to wake data as try_to_wake_data takes all kinds of locks and waits on condition that read_thread is supposed to wake, but read_thread may decide to cancel_all_and_reconnect() and
cancelling will probably try to take pages_lock

releasing pages_lock is not risky as the pages garbage collector will not touch now pages that somebody sleeps on

pcloudcom/pfs,pcloudcom/pfs,pcloudcom/pfs