summaryrefslogtreecommitdiffstats
path: root/source3/locking/posix.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/locking/posix.c')
-rw-r--r--source3/locking/posix.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/source3/locking/posix.c b/source3/locking/posix.c
index 6ab4bef4cc2..69df55ba3ca 100644
--- a/source3/locking/posix.c
+++ b/source3/locking/posix.c
@@ -1346,25 +1346,25 @@ void posix_locking_close_file(files_struct *fsp)
Create the in-memory POSIX lock databases.
********************************************************************/
-BOOL posix_locking_init(void)
+BOOL posix_locking_init(int read_only)
{
if (posix_lock_tdb && posix_pending_close_tdb)
return True;
-
+
if (!posix_lock_tdb)
posix_lock_tdb = tdb_open(NULL, 0, TDB_INTERNAL,
- O_RDWR|O_CREAT, 0644);
- if (!posix_lock_tdb) {
- DEBUG(0,("Failed to open POSIX byte range locking database.\n"));
+ read_only?O_RDONLY:(O_RDWR|O_CREAT), 0644);
+ if (!posix_lock_tdb) {
+ DEBUG(0,("Failed to open POSIX byte range locking database.\n"));
return False;
- }
+ }
if (!posix_pending_close_tdb)
posix_pending_close_tdb = tdb_open(NULL, 0, TDB_INTERNAL,
- O_RDWR|O_CREAT, 0644);
- if (!posix_pending_close_tdb) {
- DEBUG(0,("Failed to open POSIX pending close database.\n"));
+ read_only?O_RDONLY:(O_RDWR|O_CREAT), 0644);
+ if (!posix_pending_close_tdb) {
+ DEBUG(0,("Failed to open POSIX pending close database.\n"));
return False;
- }
+ }
return True;
}