Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This patch introduces two new temporary helper functions
vfs_stat_smb_fname and vfs_lstat_smb_fname. They basically allowed me
to call the new smb_filename version of stat, while avoiding plumbing
it through callers that are still too inconvenient. As the conversion
moves along, I will be able to remove callers of this, with the goal
being to remove all callers.
There was also a bug in create_synthetic_smb_fname_split (also a
temporary utility function) that caused it to incorrectly handle
filenames with ':'s in them when in posix mode. This is now fixed.
|
|
This was a little messy because of all of the vfs modules I had to
touch. Most of them were pretty straight forward, but the streams
modules required a little attention to handle smb_filename. Since the
use of smb_filename enables the vfs modules to access the raw,
over-the-wire stream, a little bit of the handling that was being done
by split_ntfs_stream_name has now been shifted into the individual
stream modules. It may be a little more code, but overall it gives
more flexibility to the streams modules, while also allowing correct
stream handling.
|
|
|
|
This is required for the shadow_copy2 module and "wide links = no". The file
system snapshots by nature are typically outside of share directory. So the
REALPATH result fails the wide links = no test.
|
|
|
|
Since file_id_create_dev is incompatible with the concept of file_ids,
it is now static and in the one file that needs it.
|
|
This patch adds 3 new VFS OPs for Windows byte range locking: BRL_LOCK_WINDOWS,
BRL_UNLOCK_WINDOWS and BRL_CANCEL_WINDOWS. Specifically:
* I renamed brl_lock_windows, brl_unlock_windows and brl_lock_cancel to
*_default as the default implementations of the VFS ops.
* The blocking_lock_record (BLR) is now passed into the brl_lock_windows and
brl_cancel_windows paths. The Onefs implementation uses it - future
implementations may find it useful too.
* Created brl_lock_cancel to do what brl_lock/brl_unlock do: set up a
lock_struct and call either the Posix or Windows lock function. These happen
to be the same for the default implementation.
* Added helper functions: increment_current_lock_count() and
decrement_current_lock_count().
* Minor spelling correction in brl_timeout_fn: brl -> blr.
* Changed blocking_lock_cancel() to return the BLR that it has cancelled. This
allows us to assert its the lock that we wanted to cancel. If this assert ever
fires, this path will need to take in the BLR to cancel, rather than choosing
on its own.
* Adds a small helper function: find_blocking_lock_record_by_id(). Used by the
OneFS implementation, but could be useful for others.
|
|
|
|
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 allows module implementors to customize what allocation size is
returned to the client.
|
|
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.
|
|
|
|
|
|
|
|
Thanks to Hodur <coil93@gmail.com> for testing!
Volker
|
|
This replaces the is_dos_path bool with a more future-proof argument.
The next step is to plumb INTERNAL_OPEN_ONLY through this flag instead
of overridding the oplock_request.
|
|
|
|
|
|
in fset_nt_acl().
Need to watch the build farm to make sure I haven't broken the AIX or Solaris ACL modules.
Jeremy.
|
|
There were some function mismatches in the various GET_NT_ACL modules (some places the fsp parameter has not been removed).
Jeremy.
(This used to be commit 221cc5e21eb27cdad51f34ec6832467a7bd89213)
|
|
Fix "vfs_full_audit.c: name table not in sync with vfs.h" panic reported
by Franz Sirl.
(This used to be commit 72b96b75a4a1b523540a24fb758b1965ad66009b)
|
|
No functional change, this is a preparation for more current_user ref removal
(This used to be commit dcaedf345e62ab74ea87f0a3fa1e3199c75c5445)
|
|
Fix Coverity ID 552 and 553
(This used to be commit c46e10d2605b22d31675976e62e5ae61d73c8a0a)
|
|
(This used to be commit 344d69f95e217d16213eaa6b53141af6ab459708)
|
|
(This used to be commit 368454a27cb53a408ec416cbf37235b304592fb5)
|
|
(This used to be commit 2834dacc8d49f77fe55fb5d7e3eb2dda431d1d3d)
|
|
this can only be done via fset_nt_acl() using an open
file/directory handle. I'd like to do the same with
get_nt_acl() but am concerned about efficiency
problems with "hide unreadable/hide unwritable" when
doing a directory listing (this would mean opening
every file in the dir on list).
Moving closer to rationalizing the ACL model and
maybe moving the POSIX calls into a posix_acl VFS
module rather than having them as first class citizens
of the VFS.
Jeremy.
(This used to be commit f487f742cb903a06fbf2be006ddc9ce9063339ed)
|
|
Now all those redundant fd's have vanished from the VFS API.
Michael
(This used to be commit 14294535512a7f191c5008e622b6708e417854ae)
|
|
(This used to be commit 700cceb6940c95997cfef374cffd50729a35528a)
|
|
(This used to be commit 1a0aed566b7e4fc75bf894aac6828bfa4152c3dc)
|
|
Michael
(This used to be commit 3958abffaf2866c69ad9e13ec345364fde5c78bb)
|
|
Michael
(This used to be commit a52cfb7d777157c93c9dc26c67f457be592dd537)
|
|
Michael
(This used to be commit c8ae7d095a2a6a7eac920a68ca7244e3a423e1b1)
|
|
Michael
(This used to be commit a8fc2ddad8d5f7c6c00cb36c74a32a02d69d1d04)
|
|
Michael
(This used to be commit 3c997ae0002d4c50e8899600c17ddf74ac61f6f0)
|
|
Michael
(This used to be commit 0bd2643463a9160c8a1c7e1c2f8cca7b89060e09)
|
|
Michael
(This used to be commit bfc3b5a27f707d3e4b8d5d66192891e22365fbb3)
|
|
Michael
(This used to be commit 167649b3b8bc293f8434ffc9fb5f80463e4e75be)
|
|
Michael
(This used to be commit 2cb739a82dc6bb194d60718cc74b26ee7c1c46a7)
|
|
Michael
(This used to be commit 9296e93588c0e795cae770765050247ac1474a74)
|
|
Michael
(This used to be commit 7b201c177b3668f54751ba17d6a0b53ed913e7f7)
|
|
Michael
(This used to be commit 42663e8736e1a3dfb57e0aafdcbf5fec880da779)
|
|
Michael
(This used to be commit ee5a20becdcdb20d7012732b324c6938fab44f67)
|
|
Michael
(This used to be commit 8880eb82f16d561a4023ec8426f8ea35c579a7a6)
|
|
Michael
(This used to be commit 195c519377c2fdc655e25760b52bc0694b8dda81)
|
|
Michael
(This used to be commit 4f3ab2c406072e0b43581057e7e785e8ad454cfa)
|
|
Michael
(This used to be commit 2ad66050a0452b8e7e08b1e7a01efa00c72fd451)
|
|
Michael
(This used to be commit fbb193db3e0dc51cb000ae406a68bc547f31d9ab)
|