mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-18 10:04:20 +03:00
list: use container_of
Reuse macro
This commit is contained in:
parent
16da6651a1
commit
deb5160181
@ -1,7 +1,7 @@
|
|||||||
#ifndef BASE_DATA_STRUCT_LIST_H
|
#ifndef BASE_DATA_STRUCT_LIST_H
|
||||||
#define BASE_DATA_STRUCT_LIST_H
|
#define BASE_DATA_STRUCT_LIST_H
|
||||||
|
|
||||||
#include <stddef.h> /* offsetof */
|
#include "base/memory/container_of.h"
|
||||||
|
|
||||||
//----------------------------------------------------------------
|
//----------------------------------------------------------------
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ struct dm_list *dm_list_next(const struct dm_list *head, const struct dm_list *e
|
|||||||
* contained in a structure of type t, return the containing structure.
|
* contained in a structure of type t, return the containing structure.
|
||||||
*/
|
*/
|
||||||
#define dm_list_struct_base(v, t, head) \
|
#define dm_list_struct_base(v, t, head) \
|
||||||
((t *)((const char *)(v) - offsetof(t, head)))
|
container_of(v, t, head)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Given the address v of an instance of 'struct dm_list list' contained in
|
* Given the address v of an instance of 'struct dm_list list' contained in
|
||||||
|
@ -11,6 +11,8 @@
|
|||||||
#ifndef _LVM_LVMLOCKD_INTERNAL_H
|
#ifndef _LVM_LVMLOCKD_INTERNAL_H
|
||||||
#define _LVM_LVMLOCKD_INTERNAL_H
|
#define _LVM_LVMLOCKD_INTERNAL_H
|
||||||
|
|
||||||
|
#include "base/memory/container_of.h"
|
||||||
|
|
||||||
#define MAX_NAME 64
|
#define MAX_NAME 64
|
||||||
#define MAX_ARGS 64
|
#define MAX_ARGS 64
|
||||||
|
|
||||||
@ -217,10 +219,6 @@ struct val_blk {
|
|||||||
/* lm_unlock flags */
|
/* lm_unlock flags */
|
||||||
#define LMUF_FREE_VG 0x00000001
|
#define LMUF_FREE_VG 0x00000001
|
||||||
|
|
||||||
#define container_of(ptr, type, member) ({ \
|
|
||||||
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
|
|
||||||
(type *)( (char *)__mptr - offsetof(type,member) );})
|
|
||||||
|
|
||||||
static inline void INIT_LIST_HEAD(struct list_head *list)
|
static inline void INIT_LIST_HEAD(struct list_head *list)
|
||||||
{
|
{
|
||||||
list->next = list;
|
list->next = list;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user