diff options
author | Mateusz Guzik <mjg@FreeBSD.org> | 2020-07-15 10:24:04 +0000 |
---|---|---|
committer | Mateusz Guzik <mjg@FreeBSD.org> | 2020-07-15 10:24:04 +0000 |
commit | d8bc2a17a546c327eb3ccf4e9ec67686907cb4fd (patch) | |
tree | 1478d4bf2dfaa9945485d81ba179491a7078bc72 /sys/sys/filedesc.h | |
parent | 7177149a4de9af54ae601db963f57da42ec30313 (diff) | |
download | src-d8bc2a17a546c327eb3ccf4e9ec67686907cb4fd.tar.gz src-d8bc2a17a546c327eb3ccf4e9ec67686907cb4fd.zip |
fd: remove fd_lastfile
It keeps recalculated way more often than it is needed.
Provide a routine (fdlastfile) to get it if necessary.
Consumers may be better off with a bitmap iterator instead.
Notes
Notes:
svn path=/head/; revision=363214
Diffstat (limited to 'sys/sys/filedesc.h')
-rw-r--r-- | sys/sys/filedesc.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/sys/filedesc.h b/sys/sys/filedesc.h index 0ef4febeb08b..6954b1d23f45 100644 --- a/sys/sys/filedesc.h +++ b/sys/sys/filedesc.h @@ -96,7 +96,6 @@ struct filedesc { struct fdescenttbl *fd_files; /* open files table */ smrpwd_t fd_pwd; /* directories */ NDSLOTTYPE *fd_map; /* bitmap of free fds */ - int fd_lastfile; /* high-water mark of fd_ofiles */ int fd_freefile; /* approx. next free file */ u_short fd_cmask; /* mask for file creation */ int fd_refcnt; /* thread reference count */ @@ -235,7 +234,9 @@ void fdinstall_remapped(struct thread *td, struct filedesc *fdp); void fdunshare(struct thread *td); void fdescfree(struct thread *td); void fdescfree_remapped(struct filedesc *fdp); -struct filedesc *fdinit(struct filedesc *fdp, bool prepfiles); +int fdlastfile(struct filedesc *fdp); +int fdlastfile_single(struct filedesc *fdp); +struct filedesc *fdinit(struct filedesc *fdp, bool prepfiles, int *lastfile); struct filedesc *fdshare(struct filedesc *fdp); struct filedesc_to_leader * filedesc_to_leader_alloc(struct filedesc_to_leader *old, |