diff options
author | Michael Larson <slioch@slioch.vyatta.com> | 2010-06-24 13:07:07 -0700 |
---|---|---|
committer | Michael Larson <slioch@slioch.vyatta.com> | 2010-06-24 13:07:07 -0700 |
commit | 6debdc1d5714747936ebba4cc7e60712d7033456 (patch) | |
tree | e3607292c3b36617c77d3212951aeb0eee4e8a8e /src/common/unionfs.c | |
parent | 1ac80256404b66928c5af71f0bf655fc5897e036 (diff) | |
download | vyatta-cfg-6debdc1d5714747936ebba4cc7e60712d7033456.tar.gz vyatta-cfg-6debdc1d5714747936ebba4cc7e60712d7033456.zip |
fix additional case for vyatta guard restarting under deletion of deactivated nodes.
Diffstat (limited to 'src/common/unionfs.c')
-rw-r--r-- | src/common/unionfs.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/common/unionfs.c b/src/common/unionfs.c index 3f932d6..e7157c0 100644 --- a/src/common/unionfs.c +++ b/src/common/unionfs.c @@ -409,7 +409,12 @@ retrieve_data(char* rel_data_path, GNode *node, const char* root, struct VyattaNode *vn = calloc(1,sizeof(struct VyattaNode)); strcpy(data_buf,dirp->d_name); - vn->_data._operation = K_NO_OP; + if (op == K_DEL_OP) { + vn->_data._operation = K_DEL_OP; + } + else { + vn->_data._operation = K_NO_OP; + } //create new node and insert... vn->_data._name = data_buf; @@ -425,7 +430,7 @@ retrieve_data(char* rel_data_path, GNode *node, const char* root, new_node = insert_sibling_in_order(node,new_node); //will need to enter a special recursion against the active configuration to mark nested delete nodes - retrieve_data(new_data_path,new_node,get_adirp(),K_NO_OP); + retrieve_data(new_data_path,new_node,get_adirp(),vn->_data._operation); } else { strcpy(data_buf,dirp->d_name); |