summaryrefslogtreecommitdiff
path: root/source3/include/smb.h
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-11-16 09:40:47 +0100
committerVolker Lendecke <vl@samba.org>2009-11-21 11:40:13 +0100
commitf0a933d1408678fabc856e89a5aaebb792047de3 (patch)
treea6740c2d9bcd89d3dbec413d681eaef9561dd014 /source3/include/smb.h
parentbda1c701f418d3263d36714f9b646ab60ea2da0f (diff)
downloadsamba-f0a933d1408678fabc856e89a5aaebb792047de3.tar.gz
samba-f0a933d1408678fabc856e89a5aaebb792047de3.tar.bz2
samba-f0a933d1408678fabc856e89a5aaebb792047de3.zip
s3: Cache brlock.tdb entries for the fast read&write strict locking code path
For a netbench run this gains around 2% user-space CPU, fetching a 100MB file takes around 4% less.
Diffstat (limited to 'source3/include/smb.h')
-rw-r--r--source3/include/smb.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 2ff60f6c44..a3acb7c415 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -461,6 +461,14 @@ typedef struct files_struct {
struct files_struct *base_fsp; /* placeholder for delete on close */
+ /*
+ * Read-only cached brlock record, thrown away when the
+ * brlock.tdb seqnum changes. This avoids fetching data from
+ * the brlock.tdb on every read/write call.
+ */
+ int brlock_seqnum;
+ struct byte_range_lock *brlock_rec;
+
struct dptr_struct *dptr;
} files_struct;