diff --git a/lib/backend/lmdb.c b/lib/backend/lmdb.c index 638416595..db1270ebc 100644 --- a/lib/backend/lmdb.c +++ b/lib/backend/lmdb.c @@ -171,7 +171,7 @@ static int db_init(rpmdb rdb, const char * dbhome) eflags |= MDB_MAPASYNC; eflags |= MDB_NOTLS; - if (access(dbhome, W_OK)) + if (access(dbhome, W_OK) && (rdb->db_mode & O_ACCMODE) == O_RDONLY) eflags |= MDB_RDONLY; rc = mdb_env_open(env, dbhome, eflags, rdb->db_perms);