diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2011-06-20 18:40:32 +0930 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2011-06-20 11:18:35 +0200 |
commit | 4823262439bc6c1ce9fcce97ed472ad44e85cb77 (patch) | |
tree | e7ec18964e9790d52f0c6d14cd1ff63d421dfc72 | |
parent | a4993f647cfc5b8e0cf4405cc1d8815770837310 (diff) | |
download | samba-4823262439bc6c1ce9fcce97ed472ad44e85cb77.tar.gz samba-4823262439bc6c1ce9fcce97ed472ad44e85cb77.tar.bz2 samba-4823262439bc6c1ce9fcce97ed472ad44e85cb77.zip |
tdb2: #ifdef out TDB_ERR_NOLOCK and TDB_ERR_LOCK_TIMEOUT.
These don't exist in tdb2. The former is used in one weird place in
tdb1, and the latter not at all.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r-- | source3/lib/gencache.c | 7 | ||||
-rw-r--r-- | source3/lib/util_tdb.c | 4 | ||||
-rw-r--r-- | source4/lib/ldb/ldb_tdb/ldb_tdb.c | 4 |
3 files changed, 14 insertions, 1 deletions
diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c index 296f50ebae..c00cc115af 100644 --- a/source3/lib/gencache.c +++ b/source3/lib/gencache.c @@ -463,7 +463,12 @@ bool gencache_stabilize(void) res = tdb_transaction_start_nonblock(cache); if (res != 0) { - if (tdb_error(cache) == TDB_ERR_NOLOCK) { +#if BUILD_TDB2 + if (res == TDB_ERR_LOCK) +#else + if (tdb_error(cache) == TDB_ERR_NOLOCK) +#endif + { /* * Someone else already does the stabilize, * this does not have to be done twice diff --git a/source3/lib/util_tdb.c b/source3/lib/util_tdb.c index e78dbec704..92c43d8605 100644 --- a/source3/lib/util_tdb.c +++ b/source3/lib/util_tdb.c @@ -511,6 +511,7 @@ NTSTATUS map_nt_error_from_tdb(enum TDB_ERROR err) result = NT_STATUS_FILE_LOCK_CONFLICT; break; +#ifndef BUILD_TDB2 case TDB_ERR_NOLOCK: case TDB_ERR_LOCK_TIMEOUT: /* @@ -518,6 +519,7 @@ NTSTATUS map_nt_error_from_tdb(enum TDB_ERROR err) */ result = NT_STATUS_FILE_LOCK_CONFLICT; break; +#endif case TDB_ERR_NOEXIST: result = NT_STATUS_NOT_FOUND; break; @@ -527,9 +529,11 @@ NTSTATUS map_nt_error_from_tdb(enum TDB_ERROR err) case TDB_ERR_RDONLY: result = NT_STATUS_ACCESS_DENIED; break; +#ifndef BUILD_TDB2 case TDB_ERR_NESTING: result = NT_STATUS_INTERNAL_ERROR; break; +#endif }; return result; } diff --git a/source4/lib/ldb/ldb_tdb/ldb_tdb.c b/source4/lib/ldb/ldb_tdb/ldb_tdb.c index 6033f84ef3..0d4be49123 100644 --- a/source4/lib/ldb/ldb_tdb/ldb_tdb.c +++ b/source4/lib/ldb/ldb_tdb/ldb_tdb.c @@ -68,9 +68,13 @@ int ltdb_err_map(enum TDB_ERROR tdb_code) case TDB_ERR_IO: return LDB_ERR_PROTOCOL_ERROR; case TDB_ERR_LOCK: +#ifndef BUILD_TDB2 case TDB_ERR_NOLOCK: +#endif return LDB_ERR_BUSY; +#ifndef BUILD_TDB2 case TDB_ERR_LOCK_TIMEOUT: +#endif return LDB_ERR_TIME_LIMIT_EXCEEDED; case TDB_ERR_EXISTS: return LDB_ERR_ENTRY_ALREADY_EXISTS; |