Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Step 0 to restore it as a per-share paramter
|
|
|
|
This patch introduces
struct stat_ex {
dev_t st_ex_dev;
ino_t st_ex_ino;
mode_t st_ex_mode;
nlink_t st_ex_nlink;
uid_t st_ex_uid;
gid_t st_ex_gid;
dev_t st_ex_rdev;
off_t st_ex_size;
struct timespec st_ex_atime;
struct timespec st_ex_mtime;
struct timespec st_ex_ctime;
struct timespec st_ex_btime; /* birthtime */
blksize_t st_ex_blksize;
blkcnt_t st_ex_blocks;
};
typedef struct stat_ex SMB_STRUCT_STAT;
It is really large because due to the friendly libc headers playing macro
tricks with fields like st_ino, so I renamed them to st_ex_xxx.
Why this change? To support birthtime, we already have quite a few #ifdef's at
places where it does not really belong. With a stat struct that we control, we
can consolidate the nanosecond timestamps and the birthtime deep in the VFS
stat calls.
At this moment it is triggered by a request to support the birthtime field for
GPFS. GPFS does not extend the system level struct stat, but instead has a
separate call that gets us the additional information beyond posix. Without
being able to do that within the VFS stat calls, that support would have to be
scattered around the main smbd code.
It will very likely break all the onefs modules, but I think the changes will
be reasonably easy to do.
|
|
Wrap creation of share and setting of parameter into a transaction.
Michael
|
|
for {get,set,del}parm
Michael
|
|
Commit d69c3db9d44ad5d9fd1f5d7a9499f3bd79ecfb47 caused the transaction
start to be conditional but the commit is still unconditional, so an
error occurs when importing a single share.
An alternate fix would be to return the transaction start to be
unconditional but then it would occur before other error checking.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Signed-off-by: Michael Adam <obnox@samba.org>
|
|
This removes calls to push_*_allocate() and pull_*_allocate(), as well
as convert_string_allocate, as they are not in the common API
To allow transition to a common charcnv in future, provide Samba4-like
strupper functions in source3/lib/charcnv.c
(the actual implementation remains distinct, but the API is now shared)
Andrew Bartlett
|
|
Michael
|
|
"net conf import" was wrapped in one big transaction.
This lead to MAX_TALLOC_SIZE being exceeded at roughly
1500 shares. This patch resolves that problem by
limiting the top level transactions in "net conf import"
to 100 shares.
Michael
|
|
This speeds up "net conf import" of a file with 2000 shares
from 11 minutest to 1m50s on my box.
Michael
|
|
This is useless and can be overriden by "net conf setparm" anyways.
Michael
|
|
|
|
(This used to be commit bb7c5fc4ec77db4073d3beccf12af12910b6bd07)
|
|
(This used to be commit b8382bc3af318226a1160c6c39627e7a32e050ab)
|
|
(This used to be commit 1e9319cf88b65a2a8d4f5099a1fe5297e405ed2e)
|
|
instead of lists of strings and counters directly...
Michael
(This used to be commit 17415e2dc457ce41793a7e28e71f72c538c19c61)
|
|
don't list NULL share name and don't indent these parameters
Michael
(This used to be commit 0212b38913945ce3c8b14734804d81f1cd315621)
|
|
Michael
(This used to be commit 367c8b133b2f3e73155f20f689602909eef9827b)
|
|
Michael
(This used to be commit 5424e07e7d3e842488cba7ae389124f01221c5ba)
|
|
init.
Michael
(This used to be commit 281c9287a34533045b62302bb33ced3d216421ac)
|
|
Always be verbatim for now. Backend config options may be added later
via some private data pointer.
Michael
(This used to be commit e8bafcfbf4a7ab1dc1ce4f2acd24b0eb74933256)
|
|
Michael
(This used to be commit 977cc9898970a0c07c30264e91754740c640e235)
|
|
usage: "net conf delincludes <servicename>"
This is equivalent to "net conf setincludes <servicename>"
(without further arguments).
Michael
(This used to be commit a1d09f34ec39b614d738c6f795fe8eafaf634105)
|
|
given zero or more filenames as command line parameters
Michael
(This used to be commit ab51e4d44c3dcd00697c8ffb2ce628c4072c7a53)
|
|
Michael
(This used to be commit 30bc48623cf4f9ee17ff9c3e7a9fd98840a01d92)
|
|
Michael
(This used to be commit 8f2c3efa679d44acc900fb90f03319e830a7dcf4)
|
|
Michael
(This used to be commit 97f9cb857532328999589062ceb0b229bcaf93a3)
|
|
Michael
(This used to be commit 74e87b977514df79e49613a0b1c5157469b3cb93)
|
|
Michael
(This used to be commit 3e81db83707e30ad46a565c9a118e7293b6cdf50)
|
|
Michael
(This used to be commit b9e72b402de412c23702715ead96c20e9b3248cc)
|
|
Michael
(This used to be commit cd17cc745a35db8ee158f59a5fff1f0f26cf9c6e)
|
|
Michael
(This used to be commit 9ef9d4c4e77523d7f3cc5fdac199559896e585bd)
|
|
Michael
(This used to be commit 1c6b9a0ac34c4a7b4e000300db8dffdbb09fe7da)
|
|
There are also smbconf contexts arount...
Michael
(This used to be commit 5171df66eb54c9819b3b40045755f5e9b2cf36c2)
|
|
Michael
(This used to be commit ab4fd03705c61114742d8438dece69b9c37c3b38)
|
|
Originally, lp_load() was used to import files to registry.
This had several bugs. Most notably, options explicitly set to
default values were silently dropped, and all parametric options
were ignored.
This new implementation reads config from the text backend and
stuffs everything verbatim in to the registry backend.
Michael
(This used to be commit e41c6650f805eaf8bb009e34468dd2d311e52858)
|
|
This is passed to the module init routines.
In case of the registry, this is the path of the
basekey in registry, that is to be used, defaulting
to KEY_SMBCONF (HKLM\software\samba\smbconf), when
NULL is given. This is the only case currently used.
In order to support other keys, registry initialization
for smbconf has to be changed to support different keys.
Michael
(This used to be commit 96434d9dc7a66773e313cc128af57493dee245a1)
|
|
Hide generic init function taking smbconf_ops argument
from public api.
Michael
(This used to be commit b3f6920ccb9a27fde26e889a7f1f3afaf56b784f)
|
|
Michael
(This used to be commit 797b26ad3fad27e085827efb61f6b4d8b37e93f0)
|
|
That's more appropriate.
Michael
(This used to be commit d7bd9bb8aa2003ec0a9860df26857f67255febe2)
|
|
..for consistency. Exception: the open/init function, where the smbconf_ctx
is created from the given talloc context.
Michael
(This used to be commit 304dba6cb2184437f3edad065a530d03fb704036)
|
|
Michael
(This used to be commit 097af0309d7c3e9342058ba5266667293b23c80d)
|
|
Michael
(This used to be commit b3afc8391d40745328172ba012f0ffc166d75aa9)
|
|
It has been removed from libnet_conf_set_parameter().
Michael
(This used to be commit b5c533b06cba9a8ffd28a1fb3bc56ab248340775)
|
|
The libnet_conf_ctx stores the information necessary to interoperate
with the configuration. It is created by calling libnet_conf_open()
and destroyed by calling libnet_conf_close(). The context is passed
to all the libnet_conf functions. It currently stores the token to
access the registry. Later, it could store more data, e.g. the server
to connect to, credentials, and so on. For support of other backends
than registry or support of remote configuration, only the open
function will have to be changed.
In net_conf, the calls to the actual net_conf functions is wrapped
into a function that calls libnet_conf_open()/_close(). Thus an
individual variant of net_conf_runfunction2() and functable2 is
used to cope with functions being called by the wrapper with the
additional libnet_conf_ctx argument.
Michael
(This used to be commit c2a9346faa26e79af5948197a1b322e545f0ed09)
|
|
Michael
(This used to be commit a4ef828102417f04af1e9823c89404e77e4fd5c1)
|
|
Michael
(This used to be commit fc9c3f39b5af55026f1e5e964857c203cf6c9316)
|
|
Michael
(This used to be commit 8d9e3e08f3cc6a1f54661d1e54a3902ad50be191)
|
|
Michael
(This used to be commit e166b886375b450534c894676ab1f64571dd46b8)
|