svn commit: r273878 - head/sys/kern
Mateusz Guzik
mjg at FreeBSD.org
Fri Oct 31 05:41:28 UTC 2014
Author: mjg
Date: Fri Oct 31 05:41:27 2014
New Revision: 273878
URL: https://svnweb.freebsd.org/changeset/base/273878
Log:
filedesc: tidy up fdcopy a little bit
Test for file availability by fde_file != NULL instead of fdisused, this is
consistent with similar checks later.
Drop badfileops check. badfileops don't have DFLAG_PASSABLE set, so it was never
reached in practice.
fdiused is now only used in some KASSERTS, so ifdef it under INVARIANTS.
No functional changes.
Modified:
head/sys/kern/kern_descrip.c
Modified: head/sys/kern/kern_descrip.c
==============================================================================
--- head/sys/kern/kern_descrip.c Fri Oct 31 04:01:10 2014 (r273877)
+++ head/sys/kern/kern_descrip.c Fri Oct 31 05:41:27 2014 (r273878)
@@ -233,6 +233,7 @@ fd_last_used(struct filedesc *fdp, int s
return (-1);
}
+#ifdef INVARIANTS
static int
fdisused(struct filedesc *fdp, int fd)
{
@@ -244,6 +245,7 @@ fdisused(struct filedesc *fdp, int fd)
return ((fdp->fd_map[NDSLOT(fd)] & NDBIT(fd)) != 0);
}
+#endif
/*
* Mark a file descriptor as used.
@@ -1920,9 +1922,8 @@ fdcopy(struct filedesc *fdp)
newfdp->fd_freefile = -1;
for (i = 0; i <= fdp->fd_lastfile; ++i) {
ofde = &fdp->fd_ofiles[i];
- if (fdisused(fdp, i) &&
- (ofde->fde_file->f_ops->fo_flags & DFLAG_PASSABLE) &&
- ofde->fde_file->f_ops != &badfileops) {
+ if (ofde->fde_file != NULL &&
+ ofde->fde_file->f_ops->fo_flags & DFLAG_PASSABLE) {
nfde = &newfdp->fd_ofiles[i];
*nfde = *ofde;
filecaps_copy(&ofde->fde_caps, &nfde->fde_caps);
More information about the svn-src-head
mailing list