[SCM] Samba Shared Repository - branch v3-2-test updated -
release-3-2-0pre2-3052-ga7fd59a
Jeremy Allison
jra at samba.org
Sat Sep 27 01:38:27 GMT 2008
The branch, v3-2-test has been updated
via a7fd59a26bfc4a98b6936dc3ac8e67e1a7cb3733 (commit)
from dd43302066b2d3f5270d3ee25a1e2c85d8ce2b85 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit a7fd59a26bfc4a98b6936dc3ac8e67e1a7cb3733
Author: Jeremy Allison <jra at samba.org>
Date: Fri Sep 26 18:37:33 2008 -0700
Second part of the fix for bug #5790 - samba returns STATUS_OBJECT_NAME_NOT_FOUND on set file disposition call.
This was my fault. I use a singleton cache (positive and negative) to speed up pathname based qfileinfo/setfileinfo lookups for alternate fsp's open on the same path. I only invalidated the negative cache on adding a new file fsp, as I incorrectly imagined the new fsp was put at the *end* of the open files list. DLIST_ADD puts it at the start, meaning any subsequent open wasn't seen once the cache was set. Doh !
Jeremy.
-----------------------------------------------------------------------
Summary of changes:
source/smbd/files.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/smbd/files.c b/source/smbd/files.c
index 13e6dd9..b7ac58d 100644
--- a/source/smbd/files.c
+++ b/source/smbd/files.c
@@ -122,10 +122,12 @@ NTSTATUS file_new(connection_struct *conn, files_struct **result)
chain_fsp = fsp;
- /* A new fsp invalidates a negative fsp_fi_cache. */
- if (fsp_fi_cache.fsp == NULL) {
- ZERO_STRUCT(fsp_fi_cache);
- }
+ /* A new fsp invalidates the positive and
+ negative fsp_fi_cache as the new fsp is pushed
+ at the start of the list and we search from
+ a cache hit to the *end* of the list. */
+
+ ZERO_STRUCT(fsp_fi_cache);
*result = fsp;
return NT_STATUS_OK;
--
Samba Shared Repository
More information about the samba-cvs
mailing list