| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(cherry picked from commit d232dd9df261ff251fd624b2b984355d247bb301)
|
|
|
|
|
|
| |
Fix bug #1206 (netatalk vfs causes segfaults in samba).
(cherry picked from commit 531a9ebd52fe65196bb01632a296b40a92a43b4c)
(cherry picked from commit 12dc7210fdba44d4df87102d44ee1bb7fc51f9f3)
|
|
|
|
|
| |
Part of a fix for bug #7081.
(cherry picked from commit ecec9fb2d283f17aee8eceb39ab61d8204cff0f3)
|
|
|
|
|
|
|
|
| |
Fix inspired by idea from Eric Horst <erich@cac.washington.edu>.
Jeremy.
(cherry picked from commit de24209f0a745ada4220a1751c4ed88ae6eea575)
(cherry picked from commit fd630147319b9a21426ba2a34b726c35c03396b6)
|
|
|
|
|
|
| |
commit ca847952054f5bbde1d40ad4260589b6fcc9721d)
(cherry picked from commit 62bed0de7f6dbde183c3002253008941c4b88b3f)
|
|
|
|
|
| |
Guenther
(cherry picked from commit c59898d5e6ba2569e6691338a73c5ccffc08af0e)
|
|
|
|
|
| |
Additional patch to fix bug #6769.
(cherry picked from commit d8c7a5aafe0c17c69013766022418edcec481f8c)
|
|
|
|
| |
(cherry picked from commit 9f7d155001bc4c2808b6d17e9cb5ce87173b6061)
|
|
|
|
|
|
|
|
|
| |
This was found thanks to a test by Sivani from Microsoft against Samba at the
SDC plugfest
(cherry picked from commit 444a05c28df693a745809fef73ae583a78be7c8f)
Fix bug #6731.
(cherry picked from commit ff9355149c9af7ca0e31b36690b270a03cb787fc)
|
|
|
|
| |
(cherry picked from commit e971428f137dcb42e8b735386d79f1b3a6effe34)
|
|
|
|
|
| |
Thanks Michael to provide some transparency :-)
(cherry picked from commit db9f5e1d7bb5a2ee3a42428dd1406f27c09d671f)
|
|
|
|
|
|
| |
We have to drop the gpfs level share modes, regardless of whether we put
the file into the pending close queue.
(cherry picked from commit 0eaf040f469972d1dfd2b53d8df97bb135e3e4d4)
|
|
|
|
|
|
| |
Signed-off-by: Tim Prouty <tprouty@samba.org>
(cherry picked from commit bb454b5fd95185a1456ea120b3a7c56f4a4f1c78)
(cherry picked from commit d3bb598e656c22955dcb2f34dabcdc4946b61725)
|
|
|
|
|
|
|
| |
The aio_fork module does not need this, as it does not communicate via signals
but with pipes. Watching a strace log with those become_root() calls in aio.c
is absolutely awful, and it does affect performance.
(cherry picked from commit b8d12d3ffce304b4086488d999f85d80667e196e)
|
|
|
|
|
| |
Keeping such an fd open prohibits another open of that same file.
(cherry picked from commit f22343874833397afb2010a43ee0057fa5d8471e)
|
|
|
|
| |
(cherry picked from commit f64959ee16214b224225d5b43dfb822ecd772d99)
|
|
|
|
|
| |
(cherry picked from commit 3627ceb5e25cdecd1a8113a5028cc898a1424349)
(cherry picked from commit de68d52c8b7b101ad37d3eb09456bcb31e687906)
|
|
|
|
|
| |
(cherry picked from commit c2482d6b23f769d8a5fa4141f9540a25c985d7cc)
(cherry picked from commit b2ba00adc91d18e7356dd0375cf7c24cefe21ed0)
|
|
|
|
|
|
| |
Should make Solaris 10 builds look cleaner.
Jeremy.
(cherry picked from commit b5947b876f3c777e075879d305b6672a6c8d8abd)
|
|
|
|
| |
(cherry picked from commit e4628c6fc7348f56666adc69722809ea539c4fe7)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Often times before creating a file, a client will first query to see
if it already exists. Since some systems have a case-insensitive stat
that is called from unix_convert, we can definitively return
STATUS_NO_SUCH_FILE to the client without scanning the whole
directory.
This code path is taken from trans2querypathinfo, but trans2findfirst
still does a full directory scan even though the get_real_filename
(the case-insensitive stat vfs call) can prevent this.
This patch adds the get_real_filename call to the trans2find* path,
and also changes the vfs_default behavior for
SMB_VFS_GET_REAL_FILENAME. Previously, in the absence of a
get_real_filename implementation, we would fallback to the full
directory scan. The default behavior now returns -1 and sets errno to
EOPNOTSUPP. This allows SMB_VFS_GET_REALFILENAME to be called from
trans2* and unix_convert.
(cherry picked from commit 92558a875ebf842e652614a5519ae101dd62ffd1)
|
|
|
|
|
| |
Addendum to c49730e1. Use newer cookie conversion names.
(cherry picked from commit f4e2f7bc23da5f73311bb7adeab2838af14bdeaf)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bug prompted several, fairly large changes to the of OneFS's
readdirplus() within Samba.
One fundamental problem is that we kept our cache cursor pointed at the
next entry to be returned from onefs_readdir(), while the resume cookie
needed to refill the cache such that our cursor would be on this entry,
was located in the previous cache entry. This meant that to correctly handle
seekdir() cases which could be found within the existing cache, and cases
where a cache reload was needed, required that the cache always hold
at least two entries: the entry we wished to return, and the previous entry
which held the resume cookie. Since the readdirplus() syscall gives us no
guarantee that it will always return these two direntries, there was a
fundamental problem with this design.
To fix this problem, I have rearchitected the onefs_readdir() path to keep
its pointer on the entry which contains the resume_cookie, not the entry
which will be returned next. Essentially, I changed onefs_readdir() from a
"return an entry then increment the cursor" model to "increment the cursor
then return an entry". By doing this, we only require that a single entry
be within the cache: the entry containing the resume cookie.
Second, there have been numerous off-by-one bugs in my implementation of
onefs_seekdir() which did a mapping between the 64-bit resume cookie
returned by readdirplus() and its own monotonically increasing "location"
offset. Furthermore, this design caused a somewhat frequent waste of
cycles, as in some cases we'd need to re-enumerate the entire directory to
recover the current "location" from an old resume cookie. As this code was
somewhat difficult to understand, prone to bugs, and innefficient in some
cases I decided it was better to wholesale replace it now, rather than later.
It is possible to algorithmically map the 64-bit resume cookies from
readdirplus() into 32-bit offset values which SMB requires. The onefs.so
module now calls into a system library to do this conversion. This greatly
simplifies both the seekdir() and telldir() paths and is more efficient.
(cherry picked from commit aeb7de50b51840bddcdd4cbe6d96a4066b5116f0)
|
|
|
|
|
|
|
|
| |
Not being able to open the shadow copy directory is the same as having no
shadow copy support at all. The VFS module should in this case not log with
debug level 0 and set ENOSYS to indicate "no shadow copies used" to the higher
levels.
(cherry picked from commit 4982483cdd2a4d37f96574c19dd3aade236c1b93)
|
|
|
|
|
|
|
| |
onefs_get_real_filename needs to demangle the filename before doing
the case-insensitive estat
(cherry picked from commit 161bd7f78fd10e4f850dc3ef1ba3df53c43eae30)
(cherry picked from commit ed6388ee3a96972b7bf7df79c9ca0b63bfb84380)
|
|
|
|
| |
(cherry picked from commit 27a6aebfed6ad7c89e72dfe0a05400b972f9aa12)
|
|
|
|
| |
(cherry picked from commit 25d87012ae5e7a5e76f33aa3ef34d977f2f6ca8b)
|
|
|
|
| |
(cherry picked from commit c4dbc794f78900c50faec036264b5c556d6a700b)
|
|
|
|
|
| |
(cherry picked from commit 87fe4d732d18d18ed56c99cba6a395a0bf9e9d95)
(cherry picked from commit 9258adeac95e7fca025a72ce39e2d70fa5a665cd)
|
|
|
|
|
| |
(cherry picked from commit 74246650613cca9ec57c9a0eff75c53a5c15b110)
(cherry picked from commit 23876eba5f22b5953339b23bf25262d53acce994)
|
|
|
|
|
|
|
|
|
| |
running many of the LOCK torture tests.
Return true from the onefs cancel function if we've errored, which can happen
when the CBRL domain is configured to only give out 1 lock. :)
(cherry picked from commit bfc7bb49ff0b842a1a372cee7d2affb49c2a0e54)
(cherry picked from commit 1197d4538c716fc0fbf3625f6b8b1a2b566cffaa)
|
|
|
|
|
| |
(cherry picked from commit 365b5cfcbeb041ce84718717f30ac02183c9af7f)
(cherry picked from commit 2ab9a15f4ae08155474222a857afd70bfdfc4a44)
|
|
|
|
|
|
| |
.. after adding smb_iconv_convenience to ndr_size_security_descriptor()
(cherry picked from commit 9e70a960b78b8c2ca7c308a4ff9af9011804585c)
(cherry picked from commit d3289c3e7df5951c1634642f026fc7873579b235)
|
|
|
|
|
|
|
|
| |
modules shouldn't matter, so as vfs_streams_depot doesn't
implement get/setxattrs then call into the full VFS stack
at the top.
Jeremy
(cherry picked from commit 5e77abe108bab07c04f5c7186b63a4c0fef59721)
|
|
|
|
|
|
|
| |
SET_SECURITY_DESC
(cherry picked from commit ad98eae02e623a8ca8aa6a1c46d5aedea50e2e4b)
(cherry picked from commit 7d5996e1d5eca454f651ca49a357d28077446309)
|
|
|
|
| |
(cherry picked from commit fcd02076d7562d2bc222dd15d2cd0a8fff58d5cf)
|
|
|
|
| |
(cherry picked from commit 2364bc8dcd46ca66e06e1dd8d4ed224611d65330)
|
|
|
|
|
| |
Also add some more debugging.
(cherry picked from commit a398deb3fe71a6c4c237b1f64dd7bbb8cb6bfa28)
|
|
|
|
| |
(cherry picked from commit a6b0a884d9ef247470e6ec54ce8fab3a77c07864)
|
|
|
|
| |
(cherry picked from commit f5a1f68ee39ee1b31253acdb392d9d62f96a3c0e)
|
|
|
|
| |
(cherry picked from commit 2d5e98e7e5a737dde360ab3490fff786fa0703b6)
|
| |
|
| |
|
|
|
|
|
| |
(caused by the POSIX pathname fixes).
Jeremy.
|
| |
|
| |
|
| |
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
Jeremy.
|
| |
|