Lines Matching refs:lfp
113 #define LOG_FILE_HOLD(lfp) { \ argument
114 mutex_enter(&(lfp)->lf_lock); \
115 (lfp)->lf_refcnt++; \
116 mutex_exit(&(lfp)->lf_lock); \
119 #define LOG_FILE_RELE(lfp) { \ argument
120 log_file_rele(lfp); \
130 #define LOG_FILE_LOCK_TO_WRITE(lfp) { \ argument
131 mutex_enter(&(lfp)->lf_lock); \
132 (lfp)->lf_refcnt++; \
133 (lfp)->lf_writers++; \
136 #define LOG_FILE_UNLOCK_FROM_WRITE(lfp) { \ argument
137 (lfp)->lf_writers--; \
138 if ((lfp)->lf_writers == 0 && ((lfp)->lf_flags & L_WAITING)) { \
139 (lfp)->lf_flags &= ~L_WAITING; \
140 cv_broadcast(&(lfp)->lf_cv_waiters); \
142 mutex_exit(&(lfp)->lf_lock); \
143 log_file_rele(lfp); \
540 log_file_rele(struct log_file *lfp) in log_file_rele() argument
545 mutex_enter(&lfp->lf_lock); in log_file_rele()
546 if (--lfp->lf_refcnt > 0) { in log_file_rele()
549 (void *)lfp, lfp->lf_refcnt)); in log_file_rele()
550 mutex_exit(&lfp->lf_lock); in log_file_rele()
553 if (lfp->lf_refcnt < 0) { in log_file_rele()
559 (void *)lfp)); in log_file_rele()
561 lfp->lf_flags &= ~(L_PRINTED | L_ERROR); in log_file_rele()
563 ASSERT(lfp->lf_flags == 0); in log_file_rele()
564 ASSERT(lfp->lf_writers == 0); in log_file_rele()
566 error = VOP_CLOSE(lfp->lf_vp, FCREAT|FWRITE|FOFFMAX, 1, (offset_t)0, in log_file_rele()
571 lfp->lf_path); in log_file_rele()
576 lfp->lf_path, (void *)lfp->lf_vp, lfp->lf_vp->v_count)); in log_file_rele()
579 VN_RELE(lfp->lf_vp); in log_file_rele()
581 len = strlen(lfp->lf_path) + 1; in log_file_rele()
582 kmem_free(lfp->lf_path, len); in log_file_rele()
583 kmem_free(lfp, sizeof (*lfp)); in log_file_rele()
740 struct log_file *lfp = NULL; in nfslog_records_flush_to_disk_nolock() local
747 lfp = lbp->lb_logfile; in nfslog_records_flush_to_disk_nolock()
749 LOG_FILE_LOCK_TO_WRITE(lfp); in nfslog_records_flush_to_disk_nolock()
758 error = nfslog_write_logrecords(lfp, lrp_writers, num_recs); in nfslog_records_flush_to_disk_nolock()
760 LOG_FILE_UNLOCK_FROM_WRITE(lfp); in nfslog_records_flush_to_disk_nolock()
773 nfslog_write_logrecords(struct log_file *lfp, struct lr_alloc *lrp_writers, in nfslog_write_logrecords() argument
787 ASSERT(MUTEX_HELD(&lfp->lf_lock)); in nfslog_write_logrecords()
789 vp = lfp->lf_vp; in nfslog_write_logrecords()
839 if (!(lfp->lf_flags & L_PRINTED)) { in nfslog_write_logrecords()
842 "stopped writing buffer \n", lfp->lf_path); in nfslog_write_logrecords()
854 if (!(lfp->lf_flags & L_PRINTED)) { in nfslog_write_logrecords()
857 "write error = %m\n", lfp->lf_path); in nfslog_write_logrecords()
858 lfp->lf_flags |= L_PRINTED; in nfslog_write_logrecords()
860 } else if (lfp->lf_flags & (L_ERROR | L_PRINTED)) { in nfslog_write_logrecords()
861 lfp->lf_flags &= ~(L_ERROR | L_PRINTED); in nfslog_write_logrecords()
863 "NFS Logging re-enabled for buffer %s\n", lfp->lf_path); in nfslog_write_logrecords()