- if (vx_info_flags(vxi, VXF_PERSISTENT, 0)) {
- get_vx_info(vxi);
- claim_vx_info(vxi, current);
- } else {
- release_vx_info(vxi, current);
- put_vx_info(vxi);
- }
+ get_vx_info(vxi);
+ claim_vx_info(vxi, current);
+}
+
+void vx_clear_persistent(struct vx_info *vxi)
+{
+ vxdprintk(VXD_CBIT(xid, 6),
+ "vx_clear_persistent(%p[#%d])", vxi, vxi->vx_id);
+
+ release_vx_info(vxi, current);
+ put_vx_info(vxi);
+}
+
+void vx_update_persistent(struct vx_info *vxi)
+{
+ if (vx_info_flags(vxi, VXF_PERSISTENT, 0))
+ vx_set_persistent(vxi);
+ else
+ vx_clear_persistent(vxi);