/* finish off updating the recorded status of a file after a successful operation completion */
void afs_vnode_finalise_status_update(struct afs_vnode *vnode, struct afs_server *server)
/* finish off updating the recorded status of a file after a successful operation completion */
void afs_vnode_finalise_status_update(struct afs_vnode *vnode, struct afs_server *server)
{
	struct afs_server *oldserver = NULL;
	_enter("%p,%p", vnode, server);
	spin_lock(&vnode->lock);
	clear_bit(AFS_VNODE_CB_BROKEN, &vnode->flags);
	afs_vnode_note_promise(vnode, server);
	vnode->update_cnt--;
	ASSERTCMP(vnode->update_cnt, >=, 0);
	spin_unlock(&vnode->lock);
	wake_up_all(&vnode->update_waitq);
	afs_put_server(oldserver);
	_leave("");
}