Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 125004
b: refs/heads/master
c: fd659fd
h: refs/heads/master
v: v3
  • Loading branch information
Eric Dumazet authored and Al Viro committed Dec 31, 2008
1 parent 8d8bdcc commit 1c90a16
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1239f26c05899f1f3c541b41e719c59d58038786
refs/heads/master: fd659fd6275d3426d7967da1f0e3638bbbd2fedb
6 changes: 3 additions & 3 deletions trunk/Documentation/filesystems/files.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,13 @@ the fdtable structure -
5. Handling of the file structures is special. Since the look-up
of the fd (fget()/fget_light()) are lock-free, it is possible
that look-up may race with the last put() operation on the
file structure. This is avoided using atomic_inc_not_zero()
file structure. This is avoided using atomic_long_inc_not_zero()
on ->f_count :

rcu_read_lock();
file = fcheck_files(files, fd);
if (file) {
if (atomic_inc_not_zero(&file->f_count))
if (atomic_long_inc_not_zero(&file->f_count))
*fput_needed = 1;
else
/* Didn't get the reference, someone's freed */
Expand All @@ -92,7 +92,7 @@ the fdtable structure -
....
return file;

atomic_inc_not_zero() detects if refcounts is already zero or
atomic_long_inc_not_zero() detects if refcounts is already zero or
goes to zero during increment. If it does, we fail
fget()/fget_light().

Expand Down

0 comments on commit 1c90a16

Please sign in to comment.