Age | Commit message (Collapse) | Author | Files | Lines |
|
The problem was twofold:
1) irix returns 64 bit numbers in telldir(). The protocol uses a 32
bit resume key. We now cope with this properly using the code in
pvfs_list_seek_ofs().
2) irix returns 0xFFFFFFFF from telldir() for the last entry in the
directory. When added to DIR_OFFSET_BASE this became
DIR_OFFSET_DOTDOT which meant an infinite loop!
(This used to be commit 8cce9740ed0da9f08d6821beb4acaa9d28d149c2)
|
|
* Move dlinklist.h, smb.h to subsystem-specific directories
* Clean up ads.h and move what is left of it to dsdb/
(only place where it's used)
(This used to be commit f7afa1cb77f3cfa7020b57de12e6003db7cfcc42)
|
|
use UINT16_MAX as invalid search handle
metze
(This used to be commit a4e19d6cc4cce611241c502de485dbd2496be0d3)
|
|
metze
(This used to be commit 4f1afda488f2fb5cfcf98ef6a56157f954fdccfc)
|
|
of smb_search_data
metze
(This used to be commit 78c201db8a47a71908698c4dda2add4cf85694d9)
|
|
(This used to be commit 396d82a231b6e3a91178db08b706626d4d4b420c)
|
|
make sure file and search handles are cleaned up
before anything else in the pvfs_state struct,
as there destructors reply on a valid pvfs_state struct
metze
(This used to be commit aaa5d377b9b6145a83c0e686c7fbb7b561ae8988)
|
|
try to include just the BASENAME.h files (containing only structs)
(This used to be commit 3dd477ca5147f28a962b8437e2611a8222d706bd)
|
|
metze
(This used to be commit 5709c1c4e1a561dd9af98cfefbbbdac9b18765b7)
|
|
(for now we just do #define ntvfs_request smbsrv_request,
but it's the first step...)
- rename ntvfs_openfile() -> ntvfs_open()
- fix the talloc hierachie in some places in the ntvfs_map_*() code
metze
(This used to be commit ed9ed1f48f602354810937c0b0de850b44322191)
|
|
directories open, but close search states based on an inactivity
timer, with a default of a 5 minute timeout
(This used to be commit 2e8d154e7dfb9b320a1344e957a39e96e1eefadd)
|
|
(This used to be commit 321fbae51267153102e47845736f2c3a5abfe0be)
|
|
DCERPC_SCHANNEL_128 if we fail. Thus, it allows us to work with Windows
NT DCs ...
(This used to be commit 3034b226705c4736d57c9bf4e9470c4d44c72e8e)
|
|
less likely that anyone will use pstring for new code
- got rid of winbind_client.h from includes.h. This one triggered a
huge change, as winbind_client.h was including system/filesys.h and
defining the old uint32 and uint16 types, as well as its own
pstring and fstring.
(This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
|
|
large commit. I thought this was worthwhile to get done for
consistency.
(This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
|
|
(This used to be commit 0e61a422bd9a1596a284c176f033e958bbeaa8ce)
|
|
level. This is quite a strange level that we've never seen before, but
is used by the os2 workplace shell.
note w2k screws up this level when unicode is negotiated, so it only
passes the RAW-SEARCH test when you force non-unicode
(This used to be commit 25189b8fbf6515d573e3398dc9fca56505dc37b9)
|
|
back to filenames that have been deleted. This fixes the new os/2
delete test.
(This used to be commit 6d471db13ab132655a07e11533a559446e56fc00)
|
|
again to kukks for the excellent and detailed bug report
(This used to be commit 7dfffe4ac0d6858ae6848708df1baa11a6819680)
|
|
(This used to be commit 6da058a28ba44a02964d375c9e390fbd472bc2b6)
|
|
(the IDL, and the load/save meta-data logic)
- changed pvfs_resolve_name() to default to non-wildcard, needing
PVFS_RESOLVE_WILDCARD to enable wildcards. Most callers don't want
wildcards, so defaulting this way makes more sense.
- fixed deletion of EAs
(This used to be commit e7afd4403cc1b7e0928776929f8988aa6f15640b)
|
|
(This used to be commit a1a0118bd3f1cae034a1c564d05c3aa8019ff932)
|
|
(This used to be commit 4f33247f1ca60416415a61a7afac43c9dc8a61fd)
|
|
(This used to be commit 264ce9181089922547e8f6f67116f2d7277a5105)
|
|
set at an arbitrary 5000)
- auto-cleanup old searches that the client forgot to close (common with old searches)
- expanded the RAW-SEARCH test to test more than 256 old searches, and
old search rewind (w2k3 fails this - it appears to not support rewind
on old style searches)
(This used to be commit bc83d823b2140a10007490bf0101843a886f99a6)
|
|
calls. This is needed to allow for "new files appear during a search"
behaviour
- pvfs now passes RAW-SEARCH
(This used to be commit 0d98f7653a1d58510a6cd4c2ac6c5e05c541109c)
|
|
directory open" implementation, as opposed to the "load the whole
directory" interface used now. This will be needed to pass RAW-SEARCH
(This used to be commit 692623c6c0a2c6817fddfa77cd1c2525c27145c4)
|
|
(This used to be commit 4cdd750b5cc9b26dbbaebe58b4f1c3984dac8d6c)
|
|
different type of unlink an seach mismatches
- wildcard directory listings that have attribute
FILE_ATTRIBUTE_DIRECTORY and match "." or ".." should be failed.
- don't set the write_time on SMBclose unless it is non-zero
- added much better support for setfileinfo and setpathinfo in pvfs
- better (and more efficient) handling of .. and . components in filenames
(This used to be commit 9305b07af395a158cb9f0c1c9486f7122c79d357)
|
|
- added support for mandatory attributes in old style directory search
- we now pass BASE-DIR1 and BASE-DIR2
(This used to be commit efaa0eaec49e952aa515c3448246d9048a484c26)
|
|
idr_get_new() limits
- change idr_get_new() to use > instead of >= in the limit check
(This used to be commit 834b09929bcb8aabdd151b7c2306001497cabdb4)
|
|
an extremely efficient way of mapping from an integer handle (such as
an open file handle) to a pointer (such as the structure containing
the open file information). The code is taken from lib/idr.c in the
2.6 Linux kernel, and is very fast and space efficient. By using
talloc it even has auto cleanup.
This commit converts the handling of open file handles and open
directory search handles to use the idtree routines. In combination
with talloc destructors, this simplifies the structure handling in the
pvfs backend a lot. For example, we no longer need to keep a linked
list of open directory searches at all, and we no longer need to do
linear scans of the list of open files on most operations.
The end result is that the pvfs code is now extremely scalable. You
can have 10s of thousands of open files and open searches and the code
still runs very fast.
I have also added a small optimisation into the file close path, to
avoid looking in the byte range locking database if we know that there
are no locks outstanding.
(This used to be commit 16835a0ef91a16fa01145b773aad8d43da215dbf)
|
|
truncated long name.
- short name can be up to 12 bytes, not 11
(This used to be commit 657103ec6264bf4c2986fedd3fc6577746395d49)
|
|
(This used to be commit 1de22070610231e60d329f56997bbec2cc674a4e)
|
|
- the stacking of modules
- finding the modules private data
- hide the ntvfs details from the calling layer
- I set NTVFS_INTERFACE_VERSION 0 till we are closer to release
(because we need to solve some async problems with the module stacking)
metze
(This used to be commit 3ff03b5cb21bb79afdd3b1609be9635f6688a539)
|
|
something like:
ntvfs handler = nbench posix
and the nbench pass-thru module will be called before the posix
module. The chaining logic is now much saner, and less racy, with each
level in the chain getting its own private pointer rather than relying
on save/restore logic in the pass-thru module.
The only pass-thru module we have at the moment is the nbench one
(which records all traffic in a nbench compatibe format), but I plan
on soon writing a "unixuid" pass-thru module that will implement the
setegid()/setgroups()/seteuid() logic for standard posix uid
handling. This separation of the posix backend from the uid handling
should simplify the code, and make development easier.
I also modified the nbench module so it can do multiple chaining, so
if you want to you can do:
ntvfs module = nbench nbench posix
and it will save 2 copies of the log file in /tmp. This is really only
useful for testing at the moment until we have more than one pass-thru
module.
(This used to be commit f84c0af35cb54c8fdc4933afefc18fa4c062aae4)
|
|
(This used to be commit 4e4859c06b9de5fe60ebd17cfb09eed480b79ec1)
|
|
(This used to be commit 9710f24b1fd103d5656c9585cdfed96449cf9f97)
|
|
original core level calls). The old code was completely wrong in many respects.
also fixed the EA_SIZE level in the server
extended the RAW-SEARCH test suite to test the new code properly
(This used to be commit 71480271ad84b57fcdde264a54bb2408cf783255)
|
|
this is still just a skeleton, and many of the functions are just
based on the simple vfs backend, they are there to allow me to run
smbtorture tests against the real parts of the posix backend.
(This used to be commit f2fa7fe565e89360dba3bb5434d3a6a36f398348)
|
|
this is still very much a skeleton (with many limbs missing too!). I
am committing this early to get some feedback on the approach taken.
(This used to be commit 40d5cae5ebbfe328e193eadb685df6a370730299)
|