mirror of
				https://github.com/isar/libmdbx.git
				synced 2025-10-31 03:29:01 +08:00 
			
		
		
		
	lmdb: update mdb_chk for checkpoints, minor cosmetics.
This is 9/9 for https://github.com/ReOpen/ReOpenLDAP/issues/1 and https://github.com/ReOpen/ReOpenLDAP/issues/2 Change-Id: I05f59313b4346c08bcd63d62e6c48a5f53c47852
This commit is contained in:
		
							
								
								
									
										23
									
								
								mdb.c
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								mdb.c
									
									
									
									
									
								
							| @@ -9039,21 +9039,32 @@ mdb_env_stat(MDB_env *env, MDB_stat *arg) | ||||
| int ESECT | ||||
| mdb_env_info(MDB_env *env, MDB_envinfo *arg) | ||||
| { | ||||
| 	MDB_meta *meta; | ||||
| 	MDB_meta *meta, *m1, *m2; | ||||
|  | ||||
| 	if (env == NULL || arg == NULL) | ||||
| 		return EINVAL; | ||||
|  | ||||
| 	meta = mdb_meta_head_r(env); | ||||
| 	arg->me_mapaddr = meta->mm_address; | ||||
| 	m1 = METAPAGE_1(env); | ||||
| 	m2 = METAPAGE_2(env); | ||||
|  | ||||
| 	arg->me_mapsize = env->me_mapsize; | ||||
| 	arg->me_maxreaders = env->me_maxreaders; | ||||
| 	arg->me_numreaders = env->me_txns->mti_numreaders; | ||||
|  | ||||
| 	arg->me_last_pgno = meta->mm_last_pg; | ||||
| 	arg->me_last_txnid = meta->mm_txnid; | ||||
| 	arg->me_tail_txnid = 0; | ||||
| 	do { | ||||
| 		meta = mdb_meta_head_r(env); | ||||
| 		arg->me_meta1_txnid = m1->mm_txnid; | ||||
| 		arg->me_meta1_sign = m1->mm_datasync_sign; | ||||
| 		arg->me_meta2_txnid = m2->mm_txnid; | ||||
| 		arg->me_meta2_sign = m2->mm_datasync_sign; | ||||
| 		arg->me_last_pgno = meta->mm_last_pg; | ||||
| 		arg->me_last_txnid = meta->mm_txnid; | ||||
| 	} while (unlikely( meta->mm_txnid != env->me_txns->mti_txnid | ||||
| 			|| arg->me_meta1_sign != m1->mm_datasync_sign | ||||
| 			|| arg->me_meta2_sign != m2->mm_datasync_sign )); | ||||
|  | ||||
| 	arg->me_mapaddr = meta->mm_address; | ||||
| 	arg->me_tail_txnid = 0; | ||||
| 	MDB_reader *r = env->me_txns->mti_readers; | ||||
| 	int i; | ||||
| 	arg->me_tail_txnid = arg->me_last_txnid; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user