Commit fd659fd6 authored by Eric Dumazet's avatar Eric Dumazet Committed by Al Viro

fix f_count description in Documentation/filesystems/files.txt

Documentation/filesystems/files.txt was not updated when
f_count became an atomic_long_t.
atomic_long_inc_not_zero() is now used instead of atomic_inc_not_zero()
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 1239f26c
...@@ -76,13 +76,13 @@ the fdtable structure - ...@@ -76,13 +76,13 @@ the fdtable structure -
5. Handling of the file structures is special. Since the look-up 5. Handling of the file structures is special. Since the look-up
of the fd (fget()/fget_light()) are lock-free, it is possible of the fd (fget()/fget_light()) are lock-free, it is possible
that look-up may race with the last put() operation on the 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 : on ->f_count :
rcu_read_lock(); rcu_read_lock();
file = fcheck_files(files, fd); file = fcheck_files(files, fd);
if (file) { if (file) {
if (atomic_inc_not_zero(&file->f_count)) if (atomic_long_inc_not_zero(&file->f_count))
*fput_needed = 1; *fput_needed = 1;
else else
/* Didn't get the reference, someone's freed */ /* Didn't get the reference, someone's freed */
...@@ -92,7 +92,7 @@ the fdtable structure - ...@@ -92,7 +92,7 @@ the fdtable structure -
.... ....
return file; 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 goes to zero during increment. If it does, we fail
fget()/fget_light(). fget()/fget_light().
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment