20 Feb, 2012
1 commit
-
Wrap accesses to the fd_sets in struct fdtable (for recording open files and
close-on-exec flags) so that we can move away from using fd_sets since we
abuse the fd_set structs by not allocating the full-sized structure under
normal circumstances and by non-core code looking at the internals of the
fd_sets.The first abuse means that use of FD_ZERO() on these fd_sets is not permitted,
since that cannot be told about their abnormal lengths.This introduces six wrapper functions for setting, clearing and testing
close-on-exec flags and fd-is-open flags:void __set_close_on_exec(int fd, struct fdtable *fdt);
void __clear_close_on_exec(int fd, struct fdtable *fdt);
bool close_on_exec(int fd, const struct fdtable *fdt);
void __set_open_fd(int fd, struct fdtable *fdt);
void __clear_open_fd(int fd, struct fdtable *fdt);
bool fd_is_open(int fd, const struct fdtable *fdt);Note that I've prepended '__' to the names of the set/clear functions because
they require the caller to hold a lock to use them.Note also that I haven't added wrappers for looking behind the scenes at the
the array. Possibly that should exist too.Signed-off-by: David Howells
Link: http://lkml.kernel.org/r/20120216174942.23314.1364.stgit@warthog.procyon.org.uk
Signed-off-by: H. Peter Anvin
Cc: Al Viro
01 Jan, 2009
1 commit
-
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
20 Oct, 2007
1 commit
-
rcuref_inc_lf() is not used anymore. Replace it by atomic_inc_not_zero()
Signed-off-by: Eric Dumazet
Signed-off-by: Adrian Bunk
04 Oct, 2006
1 commit
-
Remove many duplicated words under Documentation/ and do other small
cleanups.Examples:
"and and" --> "and"
"in in" --> "in"
"the the" --> "the"
"the the" --> "to the"
...Signed-off-by: Paolo Ornati
Signed-off-by: Adrian Bunk
10 Sep, 2005
1 commit
-
Add documentation describing the new locking scheme for file descriptor table.
Signed-off-by: Dipankar Sarma
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds