summaryrefslogtreecommitdiff
path: root/source3/libsmb/libsmb_misc.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-02-05 20:59:43 -0800
committerJeremy Allison <jra@samba.org>2010-02-05 22:17:17 -0800
commit5b398edbee672392f2cea260ab17445ecca927d7 (patch)
tree8beebd8ccfb2770f550d8525d59e594a4daf4c42 /source3/libsmb/libsmb_misc.c
parent5bb89bc47cbba73c732ea6873b72849e9f239503 (diff)
downloadsamba-5b398edbee672392f2cea260ab17445ecca927d7.tar.gz
samba-5b398edbee672392f2cea260ab17445ecca927d7.tar.bz2
samba-5b398edbee672392f2cea260ab17445ecca927d7.zip
s3-brlock: add a minimim retry time for pending blocking locks
When we are waiting on a pending byte range lock, another smbd might exit uncleanly, and therefore not notify us of the removal of the lock, and thus not trigger the lock to be retried. We coped with this up to now by adding a message_send_all() in the SIGCHLD and cluster reconfigure handlers to send a MSG_SMB_UNLOCK to all smbd processes. That would generate O(N^2) work when a large number of clients disconnected at once (such as on a network outage), which could leave the whole system unusable for a very long time (many minutes, or even longer). By adding a minimum re-check time for pending byte range locks we avoid this problem by ensuring that pending locks are retried at a more regular interval.
Diffstat (limited to 'source3/libsmb/libsmb_misc.c')
0 files changed, 0 insertions, 0 deletions