diff options
Diffstat (limited to 'source3/smbd/oplock.c')
-rw-r--r-- | source3/smbd/oplock.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c index d47435a0ec..d9df308a35 100644 --- a/source3/smbd/oplock.c +++ b/source3/smbd/oplock.c @@ -329,6 +329,8 @@ BOOL oplock_break(uint32 dev, uint32 inode, struct timeval *tval) saved_vuid = current_user.vuid; GetWd(saved_dir); unbecome_user(); + /* Save the chain fnum. */ + file_chain_save(); while(OPEN_FSP(fsp) && fsp->granted_oplock) { @@ -398,6 +400,9 @@ BOOL oplock_break(uint32 dev, uint32 inode, struct timeval *tval) /* Including the directory. */ ChDir(saved_dir); + /* Restore the chain fnum. */ + file_chain_restore(); + /* Free the buffers we've been using to recurse. */ free(inbuf); free(outbuf); |