Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DAOS-3114 vos: Consolidate timestamp cache APIs #3200

Merged
merged 47 commits into from
Aug 19, 2020
Merged
Show file tree
Hide file tree
Changes from 43 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
fb2611f
DAOS-5367 vos: Fix minor epoch punch
jolivier23 Jul 30, 2020
712495b
Address review comments
jolivier23 Aug 3, 2020
da090c8
Merge branch 'master' into jvolivie/fix_minor_epc
jolivier23 Aug 3, 2020
2515749
Merge branch 'master' into jvolivie/fix_minor_epc
jolivier23 Aug 3, 2020
4a5ae4d
Merge branch 'master' into jvolivie/fix_minor_epc
jolivier23 Aug 4, 2020
35355d5
Fix one more issue
jolivier23 Aug 4, 2020
d91ebf2
Add a test for the rebuild use case. Fix a related issue allowing
jolivier23 Aug 4, 2020
f1c590a
DAOS-3114 vos: Consolidate timestamp cache APIs
jolivier23 Jul 16, 2020
48f1131
fix a checkpatch warning
jolivier23 Aug 4, 2020
8ad8db7
Merge branch 'master' into jvolivie/fix_minor_epc
jolivier23 Aug 6, 2020
f95b0f3
Address review comments
jolivier23 Aug 6, 2020
4d9dc38
Add a limit in dtx_handle_init
jolivier23 Aug 6, 2020
142adad
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 6, 2020
f6b02c6
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 7, 2020
4d1fec6
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 7, 2020
1d1f343
Merge branch 'jvolivie/fix_minor_epc' into jvolivie/consolidate
jolivier23 Aug 7, 2020
ddc401d
Update to use new mvcc test
jolivier23 Aug 7, 2020
318a34a
Remove the FIXME line
jolivier23 Aug 7, 2020
3adb8ba
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 7, 2020
5f93b62
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 7, 2020
75d239a
Don't exit if run_test.sh fails. We need to gather results
jolivier23 Aug 8, 2020
f4da3e3
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 8, 2020
f60ffb3
Avoid same tx conditional update as first op
jolivier23 Aug 10, 2020
b23385e
merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 10, 2020
9bff637
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 11, 2020
0a84153
Try to rework the commit/abort logic
jolivier23 Aug 12, 2020
ff1bcc9
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 12, 2020
d4a707c
Address Niu's comments about vos_tx_publish
jolivier23 Aug 13, 2020
c5f0013
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 13, 2020
b46e86d
Capture appropriate error
jolivier23 Aug 13, 2020
aac8f90
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 14, 2020
66185d1
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 14, 2020
b01eece
Add defer_free for single value overwrite
jolivier23 Aug 14, 2020
6780fad
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 15, 2020
35e16da
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 17, 2020
51ac0b4
Address review comments
jolivier23 Aug 17, 2020
6d04d7d
Rework vos_dtx_cleanup
jolivier23 Aug 17, 2020
8854aea
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 17, 2020
d354615
Fix checkpatch warning
jolivier23 Aug 17, 2020
8589a71
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 18, 2020
f5688d9
Fix dumb bug
jolivier23 Aug 18, 2020
797765c
Address some review comments
jolivier23 Aug 18, 2020
3b81348
Remove a typo
jolivier23 Aug 18, 2020
68dc1d4
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 18, 2020
e730549
Fix a bug with not cancelling reservations
jolivier23 Aug 18, 2020
5b8cd98
Add new struct to encapsulate read timestamps and ids. This is a step
jolivier23 Aug 17, 2020
d1fd7cb
Merge branch 'master' into jvolivie/consolidate
jolivier23 Aug 18, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ci/unit/test_main_node.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# This is a script to be run by the unit/test_main.sh to run a test
# on a CI node.

set -ex
set -x

sudo bash -c 'echo 1 > /proc/sys/kernel/sysrq'
if grep /mnt/daos\ /proc/mounts; then
Expand Down
10 changes: 10 additions & 0 deletions src/common/mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,15 @@ pmem_tx_commit(struct umem_instance *umm)
return rc ? umem_tx_errno(rc) : 0;
}

static void
pmem_defer_free(struct umem_instance *umm, umem_off_t off,
struct pobj_action *act)
{
PMEMoid id = umem_off2id(umm, off);

pmemobj_defer_free(umm->umm_pool, id, act);
}

static umem_off_t
pmem_reserve(struct umem_instance *umm, struct pobj_action *act, size_t size,
unsigned int type_num)
Expand Down Expand Up @@ -359,6 +368,7 @@ static umem_ops_t pmem_ops = {
.mo_tx_begin = pmem_tx_begin,
.mo_tx_commit = pmem_tx_commit,
.mo_reserve = pmem_reserve,
.mo_defer_free = pmem_defer_free,
.mo_cancel = pmem_cancel,
.mo_tx_publish = pmem_tx_publish,
.mo_tx_add_callback = pmem_tx_add_callback,
Expand Down
2 changes: 1 addition & 1 deletion src/container/cli_internal.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* (C) Copyright 2016 Intel Corporation.
* (C) Copyright 2016-2020 Intel Corporation.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is because someone changed this file so a combo of my merge with latest master and my git hook made this update.

*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
26 changes: 26 additions & 0 deletions src/include/daos/mem.h
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,18 @@ typedef struct {
struct pobj_action *act, size_t size,
unsigned int type_num);

/**
* Defer free til commit. For use with reserved extents that are not
* yet published. For VMEM, it just calls free.
*
* \param umm [IN] umem class instance.
* \param off [IN] offset of allocation
* \param act [IN|OUT] action used for later cancel/publish.
*/
void (*mo_defer_free)(struct umem_instance *umm,
umem_off_t off,
struct pobj_action *act);

/**
* Cancel the reservation.
*
Expand Down Expand Up @@ -494,6 +506,20 @@ umem_reserve(struct umem_instance *umm, struct pobj_action *act, size_t size)
return UMOFF_NULL;
}

static inline void
umem_defer_free(struct umem_instance *umm, umem_off_t off,
struct pobj_action *act)
{
if (umm->umm_ops->mo_defer_free)
return umm->umm_ops->mo_defer_free(umm, off, act);

/** Go ahead and free immediately. The purpose of this function
* is to allow reserve/publish pair to execute on commit
*/
umem_free(umm, off);
}


static inline void
umem_cancel(struct umem_instance *umm, struct pobj_action *actv, int actv_cnt)
{
Expand Down
2 changes: 1 addition & 1 deletion src/include/daos_obj_class.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* (C) Copyright 2015-2019 Intel Corporation.
* (C) Copyright 2015-2020 Intel Corporation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion src/tests/suite/daos_test.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* (C) Copyright 2016-2019 Intel Corporation.
* (C) Copyright 2016-2020 Intel Corporation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
Loading