Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
65458f96
Commit
65458f96
authored
Jun 10, 2003
by
Greg Kroah-Hartman
Browse files
Options
Browse Files
Download
Plain Diff
Merge kroah.com:/home/greg/linux/BK/bleed-2.5
into kroah.com:/home/greg/linux/BK/pci-2.5
parents
a4e90313
201be7ab
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
3 deletions
+19
-3
include/linux/dcache.h
include/linux/dcache.h
+1
-1
include/linux/list.h
include/linux/list.h
+18
-2
No files found.
include/linux/dcache.h
View file @
65458f96
...
...
@@ -175,7 +175,7 @@ extern spinlock_t dcache_lock;
static
inline
void
__d_drop
(
struct
dentry
*
dentry
)
{
dentry
->
d_vfs_flags
|=
DCACHE_UNHASHED
;
hlist_del_rcu
(
&
dentry
->
d_hash
);
hlist_del_rcu
_init
(
&
dentry
->
d_hash
);
}
static
inline
void
d_drop
(
struct
dentry
*
dentry
)
...
...
include/linux/list.h
View file @
65458f96
...
...
@@ -7,6 +7,14 @@
#include <linux/prefetch.h>
#include <asm/system.h>
/*
* These are non-NULL pointers that will result in page faults
* under normal circumstances, used to verify that nobody uses
* non-initialized list entries.
*/
#define LIST_POISON1 ((void *) 0x00100100)
#define LIST_POISON2 ((void *) 0x00200200)
/*
* Simple doubly linked list implementation.
*
...
...
@@ -137,7 +145,10 @@ static inline void __list_del(struct list_head * prev, struct list_head * next)
static
inline
void
list_del
(
struct
list_head
*
entry
)
{
__list_del
(
entry
->
prev
,
entry
->
next
);
entry
->
next
=
LIST_POISON1
;
entry
->
prev
=
LIST_POISON2
;
}
/**
* list_del_rcu - deletes entry from list without re-initialization
* @entry: the element to delete from the list.
...
...
@@ -148,6 +159,8 @@ static inline void list_del(struct list_head *entry)
static
inline
void
list_del_rcu
(
struct
list_head
*
entry
)
{
__list_del
(
entry
->
prev
,
entry
->
next
);
entry
->
next
=
LIST_POISON1
;
entry
->
prev
=
LIST_POISON2
;
}
/**
...
...
@@ -399,8 +412,9 @@ static __inline__ void __hlist_del(struct hlist_node *n)
static
__inline__
void
hlist_del
(
struct
hlist_node
*
n
)
{
if
(
n
->
pprev
)
__hlist_del
(
n
);
__hlist_del
(
n
);
n
->
next
=
LIST_POISON1
;
n
->
pprev
=
LIST_POISON2
;
}
#define hlist_del_rcu hlist_del
/* list_del_rcu is identical too? */
...
...
@@ -413,6 +427,8 @@ static __inline__ void hlist_del_init(struct hlist_node *n)
}
}
#define hlist_del_rcu_init hlist_del_init
static
__inline__
void
hlist_add_head
(
struct
hlist_node
*
n
,
struct
hlist_head
*
h
)
{
struct
hlist_node
*
first
=
h
->
first
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment