diff options
author | Jeremy Allison <jra@samba.org> | 1998-08-17 22:59:53 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-08-17 22:59:53 +0000 |
commit | b935fc086285e73203e5f3af80041489e893ee1a (patch) | |
tree | 351e308d10126cc89dceead9a38de9d2c59d02b2 /source3/smbd/files.c | |
parent | 28788ca46c06d00a472949fd3de7b64988925283 (diff) | |
download | samba-b935fc086285e73203e5f3af80041489e893ee1a.tar.gz samba-b935fc086285e73203e5f3af80041489e893ee1a.tar.bz2 samba-b935fc086285e73203e5f3af80041489e893ee1a.zip |
Fixed bug introduced by the recent changes where the chain_fnum
could be overwritten in oplock processing code.
Jeremy.
(This used to be commit 908a583b48e37c5e869216f4dc92d4a587ff1238)
Diffstat (limited to 'source3/smbd/files.c')
-rw-r--r-- | source3/smbd/files.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/source3/smbd/files.c b/source3/smbd/files.c index fa1b8f3bac..4f87802119 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -37,7 +37,8 @@ static files_struct *Files; /* a fsp to use when chaining */ static files_struct *chain_fsp = NULL; - +/* a fsp to use to save when breaking an oplock. */ +static files_struct *oplock_save_chain_fsp = NULL; /* * Indirection for file fd's. Needed as POSIX locking @@ -387,3 +388,20 @@ void file_chain_reset(void) { chain_fsp = NULL; } + +/**************************************************************************** +Save the chained fsp - done when about to do an oplock break. +****************************************************************************/ + +void file_chain_save(void) +{ + oplock_save_chain_fsp = chain_fsp; +} + +/**************************************************************************** +Restore the chained fsp - done after an oplock break. +****************************************************************************/ +void file_chain_restore(void) +{ + chain_fsp = oplock_save_chain_fsp; +} |