Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2009-05-26 | Introduce "struct stat_ex" as a replacement for SMB_STRUCT_STAT | Volker Lendecke | 1 | -2/+2 | |
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. | |||||
2009-05-06 | s3-printing: fix debug statement in virtual registry layer | Günther Deschner | 1 | -1/+1 | |
(key_driver_fetch_keys). Guenther | |||||
2009-04-27 | s3:registry: replace typedef REGISTRY_OPS by struct registry_ops | Michael Adam | 14 | -36/+36 | |
Michael | |||||
2009-04-27 | s3:registry replace typedef REGISTRY_HOOK by struct registry_hook. | Michael Adam | 1 | -3/+3 | |
Michael | |||||
2009-04-27 | s3:registry: replace typedef REGISTRY_KEY by struct registry_key_handle | Michael Adam | 3 | -25/+34 | |
Michael | |||||
2009-04-27 | s3:registry: replace typedef REGISTRY_VALUE by struct regval_blob | Michael Adam | 5 | -29/+33 | |
Michael | |||||
2009-04-27 | s3:registry: replace typedef REGVAL_CTR by struct regval_ctr. | Michael Adam | 15 | -59/+59 | |
This paves the way for hiding the typedef and the implementation from the surface. Michael | |||||
2009-04-21 | s3: Use common security_descriptor_equal(). | Jelmer Vernooij | 1 | -1/+1 | |
2009-04-21 | s3-secdesc: move all winreg access bits to IDL. | Günther Deschner | 1 | -14/+14 | |
Guenther | |||||
2009-04-17 | s3:registry: Prevent creation of keys containing the '/' character. | Michael Adam | 1 | -0/+10 | |
This creates a broken registry that can only be fixed with tdbtool, since the '/' sign is used as a key separator after normalization at a lower level. This makes e.g. "net conf setparm abc/def comment xyz" fail with WERR_INVALID_PARAM, which is much more desirable than a broken registry.tdb. Michael | |||||
2009-03-25 | s3-registry: remove last sec_io_desc() caller. | Günther Deschner | 1 | -2/+24 | |
This is a temporary solution while waiting for the regf merge from s4. Guenther | |||||
2009-03-17 | s3-spoolss: rename construct_dev_mode_new to construct_dev_mode. | Günther Deschner | 1 | -1/+1 | |
Guenther | |||||
2009-03-17 | s3-spoolss/registry: use libndr to push a spoolss_DeviceMode in ↵ | Günther Deschner | 1 | -22/+15 | |
fill_in_printer_values(). Guenther | |||||
2009-03-17 | s3-spoolss/registry: use marshall_sec_desc in fill_in_printer_values(). | Günther Deschner | 1 | -7/+12 | |
Guenther | |||||
2009-03-17 | s3-spoolss: move SYSTEMTIME parsing to a more generic place, as suggested. | Günther Deschner | 1 | -1/+1 | |
Guenther | |||||
2009-02-27 | Use talloc_tos() in regkey_access_check() | Volker Lendecke | 1 | -13/+2 | |
2009-02-26 | s3:registry: tighten the subkey loop in reg_deletekey_recursive() | Michael Adam | 1 | -16/+13 | |
and loop from the end to the beginning so that we don't need to rehash the subkeys... This gets "net conf drop" with 2000 shares down to 14 seconds on my box. Michael | |||||
2009-02-26 | s3:registry: use delete_reg_subkey() in reg_deletekey() | Michael Adam | 1 | -15/+1 | |
This further speeds up net conf drop. Michael | |||||
2009-02-26 | s3:registry: implement delete_subkey in the smbconf backend | Michael Adam | 1 | -0/+6 | |
delegating the call to the db backend Michael | |||||
2009-02-26 | s3:registry: implement delete_subkey in the db backend | Michael Adam | 1 | -0/+68 | |
Michael | |||||
2009-02-26 | s3:registry: add a delete_subkey method to the backend ops. | Michael Adam | 1 | -0/+9 | |
This is to provide a more atomic means of deleting a subkey of a key. Michael | |||||
2009-02-26 | s3:registry: refactor deletion of various subkey lists out of regdb_store_keys() | Michael Adam | 1 | -30/+31 | |
Micheal | |||||
2009-02-26 | s3:registry: streamline and cleanup regdb_set_secdesc() somewhat. | Michael Adam | 1 | -15/+5 | |
Michael | |||||
2009-02-26 | s3:registry: refactor deletion of value/secdesc/subkey list tdb records out | Michael Adam | 1 | -43/+73 | |
of regdb_store_values(). Michael | |||||
2009-02-26 | s3:registry: streamline reg_deletekey() somewhat. | Michael Adam | 1 | -25/+19 | |
use W_ERROR_... macros and separate assignments from checks Michael | |||||
2009-02-26 | s3:registry: use create_reg_subkey() in reg_createkey(). | Michael Adam | 1 | -8/+2 | |
Instead of calling store_reg_keys() On my box, importing 2000 shares into an empty smbconf key now takes some 32 seconds. Michael | |||||
2009-02-26 | s3:registry: implement create_subkey for the smbconf backend | Michael Adam | 1 | -0/+6 | |
by delegating to the db backend Michael | |||||
2009-02-26 | s3:registry: implement create_subkey for the db backend. | Michael Adam | 1 | -0/+67 | |
Michael | |||||
2009-02-26 | s3:registry: add a create_subkey method to the backend ops. | Michael Adam | 1 | -0/+9 | |
This is to provide a more atomic means of adding a subkey of a key. Michael | |||||
2009-02-26 | s3:registry: hash the list of subkeys in the regsubkey_ctr | Michael Adam | 2 | -26/+107 | |
This removes many loops over all the arrays (from regsubkey_ctr_key_exists) and thus reduces "net conf drop" from 1m55 to 48seconds and "net conf import" from 1m55 to 58 seconds for 2000 shares on my box. Michael | |||||
2009-02-26 | s3:registry: remove definition of regsubkey_ctr from the surface. | Michael Adam | 1 | -0/+6 | |
All access is now through accessor functions in reg_objects.c This allows for performance tuning under the hood in the next step. Michael | |||||
2009-02-26 | s3:registry: use regsubkey_ctr_init() in reg_eventlog.c | Michael Adam | 1 | -4/+10 | |
Michael | |||||
2009-02-26 | s3:registry: use regsubkey_ctr_get_seqnum() in reg_backend_db.c | Michael Adam | 1 | -1/+1 | |
Michael | |||||
2009-02-26 | s3:registry: use regsubkey_ctr_set_seqnum() in reg_backend_db.c | Michael Adam | 1 | -1/+4 | |
Michael | |||||
2009-02-26 | s3:registry: use regsubkey_ctr_init() in reg_backend_db.c | Michael Adam | 1 | -8/+14 | |
instead of using talloc directly. Michael | |||||
2009-02-26 | s3:registry: use regsubkey_ctr_init() in reg_api.c | Michael Adam | 1 | -13/+10 | |
instead of using talloc on struct regsubkey_ctr. Michael | |||||
2009-02-26 | s3:registry: add regsubkey_ctr_get_seqnum() to hide implementation | Michael Adam | 1 | -0/+9 | |
Michael | |||||
2009-02-26 | s3:registry: add regsubkey_ctr_set_seqnum to hide implementation from caller. | Michael Adam | 1 | -0/+11 | |
Michael | |||||
2009-02-26 | s3:registry: add a regsubkey_ctr_init function for allocating a regsubkey_ctr | Michael Adam | 1 | -1/+15 | |
Michael | |||||
2009-02-26 | s3:registry: fix a comment | Michael Adam | 1 | -3/+3 | |
Michael | |||||
2009-02-26 | s3:registry: don't directly access key->subkeys->subkeys[] in reg_backend_db.c | Michael Adam | 1 | -3/+5 | |
Use the reg_objects accessor regsubkey_ctr_specific_key() instead. Michael | |||||
2009-02-26 | s3:registry: don't directly access key->subkeys->subkeys[] in reg_api.c | Michael Adam | 1 | -2/+5 | |
Use the reg_objects accessor regsubkey_ctr_specific_key() instead. Michael | |||||
2009-02-26 | s3:registry: don't directly access key->subkeys->num_subkeys in reg_backend_db. | Michael Adam | 1 | -12/+16 | |
Use the reg_objects api instead. Michael | |||||
2009-02-26 | s3:registry: don't directly access key->subkeys->num_subkeys in reg_api.c | Michael Adam | 1 | -5/+5 | |
Use the reg_objects api instead. Michael | |||||
2009-02-26 | s3:registry: replace typedef "REGSUBKEY_CTR" by "struct regsubkey_ctr" | Michael Adam | 15 | -56/+56 | |
This paves the way for hiding the typedef and the implementation from the surface. Michael | |||||
2009-02-26 | Revert "Fix a O(n^2) algorithm in regdb_fetch_keys()" | Michael Adam | 1 | -27/+5 | |
This reverts commit a13f065bad0f4d21a67e68b743f17f45bf0a4691. This fix is reverted, because the speedup is going to move further down into reg_objects.c. The unsorted list of subkey names is going to be indexed: This O(n^2) search bites us in more places. This re-establishes the abstraction of reg_objects.c. Michael | |||||
2009-02-26 | s3:registry: wrap deletekey_recursive in one big transaction. | Michael Adam | 1 | -2/+38 | |
This speeds up "net conf drop" with 2000 shares on my box from 4m40s to 1m50s, leaving virtually only cpu load. Michael | |||||
2009-02-26 | s3:registry: provide transaction_start|commit|cancel fns for the registry tdb | Michael Adam | 1 | -0/+18 | |
Michael | |||||
2009-02-26 | Wrap creating the sorted subkey cache in a transaction | Volker Lendecke | 1 | -3/+31 | |
Signed-off-by: Michael Adam <obnox@samba.org> | |||||
2009-02-26 | Add a comment describing the sorted subkeys | Volker Lendecke | 1 | -0/+23 | |
Signed-off-by: Michael Adam <obnox@samba.org> |