mirror of
https://github.com/samba-team/samba.git
synced 2025-03-03 12:58:35 +03:00
tdb2: return TDB_ERR_RDONLY if trying to start a transaction on a R/O tdb.
This is more accurate than returning TDB_ERR_EINVAL. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit 91436a25574597dbd1fd2de5bcd5826a234100d6)
This commit is contained in:
parent
2cf3f7c074
commit
37c704be0a
@ -523,13 +523,22 @@ enum TDB_ERROR tdb_transaction_start(struct tdb_context *tdb)
|
||||
|
||||
tdb->stats.transactions++;
|
||||
/* some sanity checks */
|
||||
if (tdb->read_only || (tdb->flags & TDB_INTERNAL)) {
|
||||
if (tdb->flags & TDB_INTERNAL) {
|
||||
return tdb->last_error = tdb_logerr(tdb, TDB_ERR_EINVAL,
|
||||
TDB_LOG_USE_ERROR,
|
||||
"tdb_transaction_start:"
|
||||
" cannot start a"
|
||||
" transaction on an"
|
||||
" internal tdb");
|
||||
}
|
||||
|
||||
if (tdb->read_only) {
|
||||
return tdb->last_error = tdb_logerr(tdb, TDB_ERR_RDONLY,
|
||||
TDB_LOG_USE_ERROR,
|
||||
"tdb_transaction_start:"
|
||||
" cannot start a"
|
||||
" transaction on a "
|
||||
"read-only or internal db");
|
||||
" read-only tdb");
|
||||
}
|
||||
|
||||
/* cope with nested tdb_transaction_start() calls */
|
||||
|
Loading…
x
Reference in New Issue
Block a user