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: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Eric Dumazet 2008-12-10 09:35:45 -08:00 committed by Al Viro
parent 1239f26c05
commit fd659fd627

View file

@ -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 -
.... ....
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().