From 6debdc1d5714747936ebba4cc7e60712d7033456 Mon Sep 17 00:00:00 2001 From: Michael Larson Date: Thu, 24 Jun 2010 13:07:07 -0700 Subject: fix additional case for vyatta guard restarting under deletion of deactivated nodes. --- src/common/unionfs.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src') 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); -- cgit v1.2.3