Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
OneFS provides the bulk directory enumeration syscall readdirplus(). This
syscall has the same semantics as the NFSv3 READDIRPLUS command, returning
a batch of directory entries with prefetched stat information via one
syscall.
This commit wraps the readdirplus() call in the existing POSIX
readdir/seekdir VFS interface. By default a batch of 128 directory entries
are optimistically read from the kernel into a global cache, and fed to
iterative calls of VFS_OP_READDIR.
The global buffers could be avoided in the future by hanging connection
specific buffers off the conn struct.
Added new parameter "onefs:use readdirplus" which toggles usage of this
code on or off.
|
|
search requests.
By default this VFS call is a NOOP, but the onefs vfs module takes advantage
of it to initialize direntry search caches at the beginning of each
TRANS2_FIND_FIRST, TRANS2_FIND_NEXT, SMBffirst, SMBsearch, and SMBunique
|
|
* this allows VFS implementations that prefetch stat information on
readdir to return it through one VFS call
* backwards compatibility is maintained by passing in NULL
* if the system readdir doesn't return stat info, the stat struct is
set to invalid
|
|
This ensures that getting/stting a security descriptor does not
contend an oplock. The correct access checks will be still be done in
the kernel on the get/set rather than the open.
|
|
A few functions in oplocks_onefs.c need to be accessed from the onefs
vfs module. It would be ideal if oplocks were implemented at the vfs
layer, but since they aren't yet, a new header is added to
source3/include to make these functions available to the onefs vfs
module. oplocks_onefs.o doesn't need to be linked into the onefs vfs
module explicitly, since it is already linked into smbd by default.
|
|
I'm not certain if the dummy pointer is needed in struct vfs_fsp_data,
but I added it to be consistent with the comment below.
|
|
|
|
This checkin enables setting arbitrary timestamps on files matching
the pattern stored in smb.conf. This was a customer request for a
specific workflow.
Changes include:
1) configuration state machine to avoid tons of string comparisons on
each and every stat.
2) Code to adjust post-stat() times to match time now, or sloptime +
time now.
|
|
|
|
|
|
|
|
This allows module implementors to customize what allocation size is
returned to the client.
|
|
metze
|
|
|
|
1) Add in smb_file_time struct to clarify code and make room for createtime.
2) Get and set create time from SMB messages.
3) Fixup existing VFS modules + examples Some OS'es allow for the
setting of the birthtime through kernel interfaces. This value is
generically used for Windows createtime, but is not settable in the
code today.
|
|
Updates the onefs vfs module to add configurable behavior to deal
with sids that are unknown to us. The best examples are aces that
come from robocopy/xcopy.
Adds the following share level options (which are specific to the vfs_onefs
module):
onefs: ignore unmappable sids (Default = false)
If this option is set to true, sids which could not be resolved to
a uid/gid are ignored. If an unmappable sid is encountered as the owner
or group, the owner/group is converted to BUILTIN\Administrators.
onefs: unmappable sids ignore list (Default = empty)
Only the sids in the list are ignored.
onefs: ignore sacls (Default = false)
SACLs are ignored
onefs: unmappable sids deny everyone (Default = false)
If an unmappable sid is found in a deny ACE, the ACE's identity is
changed to Everyone.
|
|
to NFSv4 ACL code as this uses the same flawed logic as posix_acls.c.
Jeremy.
|
|
to ourselves unless that was passed in.
Jeremy.
|
|
This fixes bug #5956.
Thanks to Oskar Wycislak <cantorek [at] gmail.com> for reporting
and providing a patch!
Karolin
|
|
"fileid:mapping" is still supported as fallback.
metze
|
|
|
|
Michael
|
|
Michael
|
|
|
|
|
|
|
|
|
|
|
|
metze
|
|
|
|
|
|
|
|
Thanks to Hodur <coil93@gmail.com> for testing!
Volker
|
|
work with NTRENAME
Handling of error codes when renaming a file to a stream and a stream
to a file is now done in rename_internals_fsp.
The NTRENAME stream path only passes in the stream name, so the new
base can now be different from the old base.
|
|
Handling of error codes when renaming a file to a stream and a stream
to a file is now done in rename_internals_fsp.
The NTRENAME stream path only passes in the stream name, so the new
base can now be different from the old base.
|
|
|
|
|
|
|
|
Jeremy.
|
|
|
|
|
|
|
|
reported by and based on a patch by Yasuma Takeda
<yasuma@osstech.co.jp>.
Jeremy.
|
|
|
|
done for POSIX ACLs.
Jeremy.
|
|
|
|
|