mirror of
https://github.com/gluster/glusterfs.git
synced 2026-02-05 15:48:40 +01:00
Move local definition of cds_list_add_tail_rcu into contrib
Change-Id: Iea425c64dcfa435d3dbed9a79eb3740a702d6551
This commit is contained in:
42
contrib/userspace-rcu/rculist-additional.h
Normal file
42
contrib/userspace-rcu/rculist-additional.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
* (originally part of the GNU C Library)
|
||||
* Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
||||
*
|
||||
* Copyright (C) 2009 Pierre-Marc Fournier
|
||||
* Conversion to RCU list.
|
||||
* Copyright (C) 2010 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef URCU_RCULIST_EXTRA_H
|
||||
#define URCU_RCULIST_EXTRA_H
|
||||
/* Copying this definition from liburcu-0.8 as liburcu-0.7 does not have this
|
||||
* particular list api
|
||||
*/
|
||||
/* Add new element at the tail of the list. */
|
||||
|
||||
static inline
|
||||
void cds_list_add_tail_rcu(struct cds_list_head *newp,
|
||||
struct cds_list_head *head)
|
||||
{
|
||||
newp->next = head;
|
||||
newp->prev = head->prev;
|
||||
rcu_assign_pointer(head->prev->next, newp);
|
||||
head->prev = newp;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -33,8 +33,9 @@ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
|
||||
-I$(top_srcdir)/rpc/xdr/src -I$(top_srcdir)/rpc/rpc-lib/src \
|
||||
-I$(CONTRIBDIR)/uuid -I$(CONTRIBDIR)/mount \
|
||||
-DSBIN_DIR=\"$(sbindir)\" -DDATADIR=\"$(localstatedir)\" \
|
||||
-DGSYNCD_PREFIX=\"$(libexecdir)/glusterfs\"\
|
||||
-DSYNCDAEMON_COMPILE=$(SYNCDAEMON_COMPILE) $(XML_CPPFLAGS)
|
||||
-DGSYNCD_PREFIX=\"$(libexecdir)/glusterfs\" \
|
||||
-DSYNCDAEMON_COMPILE=$(SYNCDAEMON_COMPILE) $(XML_CPPFLAGS) \
|
||||
-I$(CONTRIBDIR)/userspace-rcu
|
||||
|
||||
AM_CFLAGS = -Wall $(GF_CFLAGS) $(URCU_CFLAGS) $(URCU_CDS_CFLAGS)
|
||||
|
||||
|
||||
@@ -22,6 +22,9 @@
|
||||
|
||||
#include <urcu-bp.h>
|
||||
#include <urcu/rculist.h>
|
||||
#ifdef URCU_0_7
|
||||
#include "rculist-extra.h"
|
||||
#endif
|
||||
|
||||
#include "uuid.h"
|
||||
|
||||
@@ -1082,20 +1085,4 @@ glusterd_add_brick_status_to_dict (dict_t *dict, glusterd_volinfo_t *volinfo,
|
||||
int32_t
|
||||
glusterd_handle_snap_limit (dict_t *dict, dict_t *rsp_dict);
|
||||
|
||||
#ifdef URCU_0_7
|
||||
/* Copying this definition from liburcu-0.8 as liburcu-0.7 does not have this
|
||||
* particular list api
|
||||
*/
|
||||
/* Add new element at the tail of the list. */
|
||||
static inline
|
||||
void cds_list_add_tail_rcu(struct cds_list_head *newp,
|
||||
struct cds_list_head *head)
|
||||
{
|
||||
newp->next = head;
|
||||
newp->prev = head->prev;
|
||||
rcu_assign_pointer(head->prev->next, newp);
|
||||
head->prev = newp;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user