Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into ckochhof/fix/master…
Browse files Browse the repository at this point in the history
…/daos-12746

Features: control
Required-githooks: true
  • Loading branch information
kanard38 authored and knard-intel committed Jul 3, 2023
2 parents 48e1308 + 03ef5e9 commit e67c2b0
Show file tree
Hide file tree
Showing 73 changed files with 1,449 additions and 736 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
with: rockylinux/rockylinux:9
- distro: fedora
base: el.8
with: fedora:36
with: fedora:38
- distro: leap.15
base: leap.15
with: opensuse/leap:15.4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/landing-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
with: rockylinux/rockylinux:9
- distro: fedora
base: el.8
with: fedora:36
with: fedora:38
- distro: leap.15
base: leap.15
with: opensuse/leap:15.4
Expand Down Expand Up @@ -156,7 +156,7 @@ jobs:
with: rockylinux/rockylinux:9
- distro: fedora
base: el.8
with: fedora:36
with: fedora:38
- distro: leap.15
base: leap.15
with: opensuse/leap:15.4
Expand Down
7 changes: 7 additions & 0 deletions ci/provisioning/post_provision_config_common_functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,13 @@ set_local_repo() {
dnf -y config-manager \
--disable daos-stack-daos-"${DISTRO_GENERIC}"-"$version"-x86_64-stable-local-artifactory
fi

if [ "$repo_server" = "artifactory" ]; then
# Disable module filtering for our deps repo
deps_repo="daos-stack-deps-${DISTRO_GENERIC}-$version-x86_64-stable-local-artifactory"
dnf config-manager --save --setopt "$deps_repo.module_hotfixes=true" "$deps_repo"
fi

dnf repolist
}

Expand Down
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
daos (2.5.100-6) unstable; urgency=medium
[Michael MacDonald]
* Add golang-go as a tests dependency for dfuse/daos_build.py

-- Michael MacDonald <mjmac.macdonald@intel.com> Thu, 29 Jun 2023 10:10:00 -0400

daos (2.5.100-5) unstable; urgency=medium
[ Li Wei ]
* Update raft to 0.10.1-1408.g9524cdb
Expand Down
1 change: 1 addition & 0 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ Depends: python (>=3.8), python3, python-yaml, python3-yaml,
${shlibs:Depends}, ${misc:Depends},
daos-client (= ${binary:Version}),
daos-admin (= ${binary:Version}),
golang-go (>=1.18),
libcapstone-dev
Description: The Distributed Asynchronous Object Storage (DAOS) is an open-source
software-defined object store designed from the ground up for
Expand Down
6 changes: 6 additions & 0 deletions site_scons/components/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ def define_mercury(reqs):
['make', 'install'],
['mkdir', '-p', '$UCX_PREFIX/lib64/pkgconfig'],
['cp', 'ucx.pc', '$UCX_PREFIX/lib64/pkgconfig']],
build_env={'CFLAGS': '-Wno-error'},
package='ucx-devel' if inst(reqs, 'ucx') else None)

mercury_build = ['cmake',
Expand Down Expand Up @@ -228,6 +229,11 @@ def define_common(reqs):

reqs.define('hwloc', libs=['hwloc'], headers=['hwloc.h'], package='hwloc-devel')

if ARM_PLATFORM:
reqs.define('ipmctl', skip_arch=True)
else:
reqs.define('ipmctl', headers=['nvm_management.h'], package='libipmctl-devel')


def define_ompi(reqs):
"""OMPI and related components"""
Expand Down
16 changes: 15 additions & 1 deletion site_scons/prereq_tools/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ def run_build(self, opts):
common_reqs = ['argobots', 'ucx', 'ofi', 'hwloc', 'mercury', 'boost', 'uuid',
'crypto', 'protobufc', 'lz4', 'isal', 'isal_crypto']
client_reqs = ['fuse', 'json-c', 'capstone']
server_reqs = ['pmdk', 'spdk']
server_reqs = ['pmdk', 'spdk', 'ipmctl']
test_reqs = ['cmocka']

reqs = []
Expand Down Expand Up @@ -721,6 +721,7 @@ def define(self, name, **kw):
extra_include_path -- Subdirectories to add to dependent component path
out_of_src_build -- Build from a different directory if set to True
build_env -- Environment variables to set for build
skip_arch -- not required on this architecture
"""
use_installed = False
if 'all' in self.installed or name in self.installed:
Expand Down Expand Up @@ -951,6 +952,7 @@ class _Component():
out_of_src_build -- Build from a different directory if set to True
patch_rpath -- Add appropriate relative rpaths to binaries
build_env -- Environment variable(s) to add to build environment
skip_arch -- not required on this platform
"""

def __init__(self,
Expand Down Expand Up @@ -992,6 +994,7 @@ def __init__(self,
self.include_path.extend(kw.get("extra_include_path", []))
self.out_of_src_build = kw.get("out_of_src_build", False)
self.patch_path = self.prereqs.get_build_dir()
self.skip_arch = kw.get("skip_arch", False)

@staticmethod
def _sanitize_patch_path(path):
Expand Down Expand Up @@ -1128,6 +1131,10 @@ def has_missing_targets(self, env):
if self.targets_found:
return False

if self.skip_arch:
self.targets_found = True
return False

if self.__check_only:
# Temporarily turn off dry-run.
env.SetOption('no_exec', False)
Expand Down Expand Up @@ -1216,6 +1223,9 @@ def is_installed(self, needed_libs):

def configure(self):
"""Setup paths for a required component"""
if self.skip_arch:
return

if not self.retriever:
self.prebuilt_path = "/usr"
else:
Expand All @@ -1234,6 +1244,10 @@ def configure(self):

def set_environment(self, env, needed_libs):
"""Modify the specified construction environment to build with the external component"""

if self.skip_arch:
return

lib_paths = []

# Make sure CheckProg() looks in the component's bin/ dir
Expand Down
2 changes: 2 additions & 0 deletions src/bio/bio_recovery.c
Original file line number Diff line number Diff line change
Expand Up @@ -514,6 +514,8 @@ on_normal(struct bio_blobstore *bbs)
rc = ract_ops->reint_reaction(tgt_ids, tgt_cnt);
if (rc < 0)
D_ERROR("Reint reaction failed. "DF_RC"\n", DP_RC(rc));
else if (rc > 0)
D_DEBUG(DB_MGMT, "Reint reaction is in-progress.");
else
bdev->bb_trigger_reint = false;
}
Expand Down
2 changes: 1 addition & 1 deletion src/bio/bio_wal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1670,7 +1670,7 @@ bio_wal_replay(struct bio_meta_context *mc, struct bio_wal_rp_stats *wrs,
uint64_t tx_id, start_id, unmap_start, unmap_end;
int rc;
uint64_t total_bytes = 0, rpl_entries = 0, total_tx = 0;
uint64_t s_us;
uint64_t s_us = 0;

D_ALLOC(buf, max_blks * blk_bytes);
if (buf == NULL)
Expand Down
2 changes: 1 addition & 1 deletion src/cart/crt_ctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,11 @@ crt_hdlr_ctl_get_uri_cache(crt_rpc_t *rpc_req)
out_args->cguc_grp_cache.ca_count = uri_cache.idx; /* actual count */
rc = 0;
out:
D_RWLOCK_UNLOCK(&grp_priv->gp_rwlock);
out_args->cguc_rc = rc;
rc = crt_reply_send(rpc_req);
D_ASSERTF(rc == 0, "crt_reply_send() failed. rc: %d\n", rc);
D_DEBUG(DB_TRACE, "sent reply to get uri cache request\n");
D_RWLOCK_UNLOCK(&grp_priv->gp_rwlock);
D_FREE(uri_cache.grp_cache);
}

Expand Down
4 changes: 2 additions & 2 deletions src/cart/crt_internal_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ struct crt_opc_map {
struct crt_opc_map_L2 *com_map;
};


void crt_na_config_fini(bool primary, int provider);
void
crt_na_config_fini(bool primary, crt_provider_t provider);

#endif /* __CRT_INTERNAL_TYPES_H__ */
24 changes: 21 additions & 3 deletions src/client/dfuse/dfuse.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@ struct dfuse_info {
/* Array of dfuse_eq */
struct dfuse_eq *di_eqt;
ATOMIC uint64_t di_eqt_idx;

ATOMIC uint64_t di_inode_count;
ATOMIC uint64_t di_fh_count;
ATOMIC uint64_t di_pool_count;
ATOMIC uint64_t di_container_count;
};

/* legacy, allow the old name for easier migration */
Expand Down Expand Up @@ -277,7 +282,8 @@ dfuse_dre_drop(struct dfuse_projection_info *fs_handle, struct dfuse_obj_hdl *oh
* Set required initial state in dfuse_obj_hdl.
*/
void
dfuse_open_handle_init(struct dfuse_obj_hdl *oh, struct dfuse_inode_entry *ie);
dfuse_open_handle_init(struct dfuse_info *dfuse_info, struct dfuse_obj_hdl *oh,
struct dfuse_inode_entry *ie);

struct dfuse_inode_ops {
void (*create)(fuse_req_t req, struct dfuse_inode_entry *parent,
Expand Down Expand Up @@ -849,10 +855,22 @@ check_for_uns_ep(struct dfuse_info *dfuse_info, struct dfuse_inode_entry *ie, ch
daos_size_t len);

void
dfuse_ie_init(struct dfuse_inode_entry *ie);
dfuse_ie_init(struct dfuse_info *dfuse_info, struct dfuse_inode_entry *ie);

#define dfuse_ie_free(_di, _ie) \
do { \
atomic_fetch_sub_relaxed(&(_di)->di_inode_count, 1); \
D_FREE(_ie); \
} while (0)

#define dfuse_oh_free(_di, _oh) \
do { \
atomic_fetch_sub_relaxed(&(_di)->di_fh_count, 1); \
D_FREE(_oh); \
} while (0)

void
dfuse_ie_close(struct dfuse_inode_entry *ie);
dfuse_ie_close(struct dfuse_info *dfuse_info, struct dfuse_inode_entry *ie);

/* ops/...c */

Expand Down
4 changes: 2 additions & 2 deletions src/client/dfuse/dfuse_cont.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ dfuse_cont_lookup(fuse_req_t req, struct dfuse_inode_entry *parent, const char *

DFUSE_TRA_UP(ie, parent, "inode");

dfuse_ie_init(ie);
dfuse_ie_init(dfuse_info, ie);

rc = dfs_lookup(dfc->dfs_ns, "/", O_RDWR, &ie->ie_obj, NULL, &ie->ie_stat);
if (rc) {
Expand All @@ -98,7 +98,7 @@ dfuse_cont_lookup(fuse_req_t req, struct dfuse_inode_entry *parent, const char *
dfuse_reply_entry(dfuse_info, ie, NULL, true, req);
return;
close:
D_FREE(ie);
dfuse_ie_free(dfuse_info, ie);
decref:
d_hash_rec_decref(&dfp->dfp_cont_table, &dfc->dfs_entry);
err:
Expand Down
Loading

0 comments on commit e67c2b0

Please sign in to comment.