The fdrop() procedure no longer needs a thread argument, remove it.
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 6 May 2006 06:38:39 +0000 (06:38 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 6 May 2006 06:38:39 +0000 (06:38 +0000)
21 files changed:
sys/dev/misc/streams/streams.c
sys/emulation/linux/linux_socket.c
sys/emulation/svr4/svr4_stream.c
sys/kern/imgact_elf.c
sys/kern/kern_checkpoint.c
sys/kern/kern_descrip.c
sys/kern/kern_event.c
sys/kern/kern_fp.c
sys/kern/sys_generic.c
sys/kern/sys_pipe.c
sys/kern/uipc_syscalls.c
sys/kern/vfs_aio.c
sys/kern/vfs_jops.c
sys/kern/vfs_journal.c
sys/kern/vfs_syscalls.c
sys/opencrypto/cryptodev.c
sys/sys/file.h
sys/sys/file2.h
sys/vfs/nfs/nfs_syscalls.c
sys/vfs/portal/portal_vfsops.c
sys/vm/vm_mmap.c

index 46f3630..4ec3326 100644 (file)
@@ -31,7 +31,7 @@
  * in 3.0-980524-SNAP then hacked a bit (but probably not enough :-).
  *
  * $FreeBSD: src/sys/dev/streams/streams.c,v 1.16.2.1 2001/02/26 04:23:07 jlemon Exp $
- * $DragonFly: src/sys/dev/misc/streams/Attic/streams.c,v 1.23 2006/05/06 02:43:08 dillon Exp $
+ * $DragonFly: src/sys/dev/misc/streams/Attic/streams.c,v 1.24 2006/05/06 06:38:35 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -247,9 +247,9 @@ streamsopen(dev_t dev, int oflags, int devtype, d_thread_t *td)
        if ((error = socreate(family, &so, type, protocol, td)) != 0) {
          if (p->p_fd->fd_files[fd].fp == fp) {
              funsetfd(p->p_fd, fd);
-             fdrop(fp, td);
+             fdrop(fp);
          }
-         fdrop(fp, td);
+         fdrop(fp);
          return error;
        }
 
@@ -258,7 +258,7 @@ streamsopen(dev_t dev, int oflags, int devtype, d_thread_t *td)
        fp->f_ops = &svr4_netops;
        fp->f_data = so;
        (void)svr4_stream_get(fp);
-       fdrop(fp, td);
+       fdrop(fp);
        lp->lwp_dupfd = fd;
        return ENXIO;
 }
index 8930321..4c6afb3 100644 (file)
@@ -26,7 +26,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.19.2.8 2001/11/07 20:33:55 marcel Exp $
- * $DragonFly: src/sys/emulation/linux/linux_socket.c,v 1.21 2006/05/06 02:43:11 dillon Exp $
+ * $DragonFly: src/sys/emulation/linux/linux_socket.c,v 1.22 2006/05/06 06:38:36 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -382,7 +382,7 @@ linux_connect(struct linux_connect_args *args, int *res)
                        error = so->so_error;
                so->so_emuldata = (void *)1;
        }
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
index 0d718e9..92ffb41 100644 (file)
@@ -28,7 +28,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  * 
  * $FreeBSD: src/sys/svr4/svr4_stream.c,v 1.12.2.2 2000/11/26 04:42:27 dillon Exp $
- * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stream.c,v 1.16 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/emulation/svr4/Attic/svr4_stream.c,v 1.17 2006/05/06 06:38:37 dillon Exp $
  */
 
 /*
@@ -180,14 +180,14 @@ svr4_sendit(struct thread *td, int s, struct msghdr *mp, int flags,
        iov = mp->msg_iov;
        for (i = 0; i < mp->msg_iovlen; i++, iov++) {
                if ((auio.uio_resid += iov->iov_len) < 0) {
-                       fdrop(fp, td);
+                       fdrop(fp);
                        return (EINVAL);
                }
        }
        if (mp->msg_name) {
                error = getsockaddr(&to, mp->msg_name, mp->msg_namelen);
                if (error) {
-                       fdrop(fp, td);
+                       fdrop(fp);
                        return (error);
                }
        } else {
@@ -245,7 +245,7 @@ svr4_sendit(struct thread *td, int s, struct msghdr *mp, int flags,
        }
 #endif
 bad:
-       fdrop(fp, td);
+       fdrop(fp);
        if (to)
                FREE(to, M_SONAME);
        return (error);
@@ -285,7 +285,7 @@ svr4_recvit(struct thread *td, int s, struct msghdr *mp, caddr_t namelenp,
        iov = mp->msg_iov;
        for (i = 0; i < mp->msg_iovlen; i++, iov++) {
                if ((auio.uio_resid += iov->iov_len) < 0) {
-                       fdrop(fp, td);
+                       fdrop(fp);
                        return (EINVAL);
                }
        }
@@ -372,7 +372,7 @@ out:
                FREE(fromsa, M_SONAME);
        if (control)
                m_freem(control);
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
index 71fe5c6..2a9bfee 100644 (file)
@@ -27,7 +27,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/kern/imgact_elf.c,v 1.73.2.13 2002/12/28 19:49:41 dillon Exp $
- * $DragonFly: src/sys/kern/imgact_elf.c,v 1.36 2006/05/05 21:15:08 dillon Exp $
+ * $DragonFly: src/sys/kern/imgact_elf.c,v 1.37 2006/05/06 06:38:38 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -917,7 +917,7 @@ elf_coredump(struct proc *p, struct vnode *vp, off_t limit)
        fp->f_flag = 0;
        fp->f_ops = &badfileops;
        fp->f_data = NULL;
-       fdrop(fp, p->p_thread);
+       fdrop(fp);
        return (error);
 }
 
index c62c234..166d03b 100644 (file)
@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/sys/kern/kern_checkpoint.c,v 1.6 2005/10/27 03:15:47 sephe Exp $
+ * $DragonFly: src/sys/kern/kern_checkpoint.c,v 1.7 2006/05/06 06:38:38 dillon Exp $
  */
 
 #include <sys/types.h>
@@ -710,7 +710,7 @@ sys_checkpoint(struct sys_checkpoint_args *uap)
                else
                        error = ckpt_freeze_proc(p, fp);
                if (fp)
-                       fdrop(fp, curthread);
+                       fdrop(fp);
                break;
        case CKPT_THAW:
                if (uap->pid != -1)
@@ -719,7 +719,7 @@ sys_checkpoint(struct sys_checkpoint_args *uap)
                        return EBADF;
                uap->sysmsg_result = uap->retval;
                error = ckpt_thaw_proc(p, fp);
-               fdrop(fp, curthread);
+               fdrop(fp);
                break;
        default:
                error = EOPNOTSUPP;
index c98982e..4c977c1 100644 (file)
@@ -70,7 +70,7 @@
  *
  *     @(#)kern_descrip.c      8.6 (Berkeley) 4/19/94
  * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.81.2.19 2004/02/28 00:43:31 tegge Exp $
- * $DragonFly: src/sys/kern/kern_descrip.c,v 1.53 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/kern_descrip.c,v 1.54 2006/05/06 06:38:38 dillon Exp $
  */
 
 #include "opt_compat.h"
@@ -241,31 +241,31 @@ kern_fcntl(int fd, int cmd, union fcntl_dat *dat, struct ucred *cred)
                tmp = fp->f_flag & FNONBLOCK;
                error = fo_ioctl(fp, FIONBIO, (caddr_t)&tmp, cred);
                if (error) {
-                       fdrop(fp, td);
+                       fdrop(fp);
                        return (error);
                }
                tmp = fp->f_flag & FASYNC;
                error = fo_ioctl(fp, FIOASYNC, (caddr_t)&tmp, cred);
                if (!error) {
-                       fdrop(fp, td);
+                       fdrop(fp);
                        return (0);
                }
                fp->f_flag &= ~FNONBLOCK;
                tmp = 0;
                fo_ioctl(fp, FIONBIO, (caddr_t)&tmp, cred);
-               fdrop(fp, td);
+               fdrop(fp);
                return (error);
 
        case F_GETOWN:
                fhold(fp);
                error = fo_ioctl(fp, FIOGETOWN, (caddr_t)&dat->fc_owner, cred);
-               fdrop(fp, td);
+               fdrop(fp);
                return(error);
 
        case F_SETOWN:
                fhold(fp);
                error = fo_ioctl(fp, FIOSETOWN, (caddr_t)&dat->fc_owner, cred);
-               fdrop(fp, td);
+               fdrop(fp);
                return(error);
 
        case F_SETLKW:
@@ -321,7 +321,7 @@ kern_fcntl(int fd, int cmd, union fcntl_dat *dat, struct ucred *cred)
                        (void) VOP_ADVLOCK(vp, (caddr_t)p->p_leader,
                                           F_UNLCK, &dat->fc_flock, F_POSIX);
                }
-               fdrop(fp, td);
+               fdrop(fp);
                return(error);
 
        case F_GETLK:
@@ -335,14 +335,14 @@ kern_fcntl(int fd, int cmd, union fcntl_dat *dat, struct ucred *cred)
                if (dat->fc_flock.l_type != F_RDLCK &&
                    dat->fc_flock.l_type != F_WRLCK &&
                    dat->fc_flock.l_type != F_UNLCK) {
-                       fdrop(fp, td);
+                       fdrop(fp);
                        return (EINVAL);
                }
                if (dat->fc_flock.l_whence == SEEK_CUR)
                        dat->fc_flock.l_start += fp->f_offset;
                error = VOP_ADVLOCK(vp, (caddr_t)p->p_leader, F_GETLK,
                            &dat->fc_flock, F_POSIX);
-               fdrop(fp, td);
+               fdrop(fp);
                return(error);
        default:
                return (EINVAL);
@@ -450,7 +450,7 @@ kern_dup(enum dup_type type, int old, int new, int *res)
        if (type == DUP_VARIABLE || new >= fdp->fd_nfiles) {
                error = fdalloc(p, new, &newfd);
                if (error) {
-                       fdrop(fp, td);
+                       fdrop(fp);
                        return (error);
                }
                fdalloced = TRUE;
@@ -473,7 +473,7 @@ kern_dup(enum dup_type type, int old, int new, int *res)
                            fdp->fd_files[fdp->fd_lastfile].fp == NULL)
                                fdp->fd_lastfile--;
                }
-               fdrop(fp, td);
+               fdrop(fp);
                return (EBADF);
        }
        KASSERT(old != new, ("new fd is same as old"));
@@ -760,7 +760,7 @@ kern_shutdown(int fd, int how)
                return (EBADF);
        fhold(fp);
        error = fo_shutdown(fp, how);
-       fdrop(fp, td);
+       fdrop(fp);
 
        return (error);
 }
@@ -792,7 +792,7 @@ kern_fstat(int fd, struct stat *ub)
                return (EBADF);
        fhold(fp);
        error = fo_stat(fp, ub, p->p_ucred);
-       fdrop(fp, td);
+       fdrop(fp);
 
        return (error);
 }
@@ -854,7 +854,7 @@ fpathconf(struct fpathconf_args *uap)
                error = EOPNOTSUPP;
                break;
        }
-       fdrop(fp, td);
+       fdrop(fp);
        return(error);
 }
 
@@ -1084,7 +1084,7 @@ falloc(struct proc *p, struct file **resultfp, int *resultfd)
        LIST_INSERT_HEAD(&filehead, fp, f_list);
        if (resultfd) {
                if ((error = fsetfd(p, fp, resultfd)) != 0) {
-                       fdrop(fp, p->p_thread);
+                       fdrop(fp);
                        fp = NULL;
                }
        } else {
@@ -1334,7 +1334,7 @@ fdfree(struct proc *p)
                                                   F_UNLCK,
                                                   &lf,
                                                   F_POSIX);
-                               fdrop(fp, p->p_thread);
+                               fdrop(fp);
                                /* reload due to possible reallocation */
                                fdnode = &fdp->fd_files[i];
                        }
@@ -1520,7 +1520,6 @@ fdcloseexec(struct proc *p)
 int
 fdcheckstd(struct proc *p)
 {
-       struct thread *td = p->p_thread;
        struct nlookupdata nd;
        struct filedesc *fdp;
        struct file *fp;
@@ -1546,7 +1545,7 @@ fdcheckstd(struct proc *p)
                                error = vn_open(&nd, fp, flags, 0);
                        if (error == 0)
                                error = fsetfd(p, fp, &fd);
-                       fdrop(fp, td);
+                       fdrop(fp);
                        nlookup_done(&nd);
                        if (error)
                                break;
@@ -1632,11 +1631,11 @@ closef(struct file *fp, struct thread *td)
                        }
                }
        }
-       return (fdrop(fp, td));
+       return (fdrop(fp));
 }
 
 int
-fdrop(struct file *fp, struct thread *td)
+fdrop(struct file *fp)
 {
        struct flock lf;
        struct vnode *vp;
@@ -1784,7 +1783,7 @@ dupfdopen(struct filedesc *fdp, int indx, int dfd, int mode, int error)
                 * used to own.  Release it.
                 */
                if (fp)
-                       fdrop(fp, curthread);
+                       fdrop(fp);
                return (0);
 
        case ENXIO:
@@ -1805,7 +1804,7 @@ dupfdopen(struct filedesc *fdp, int indx, int dfd, int mode, int error)
                 * used to own.  Release it.
                 */
                if (fp)
-                       fdrop(fp, curthread);
+                       fdrop(fp);
                /*
                 * Complete the clean up of the filedesc structure by
                 * recomputing the various hints.
index 7fe562f..78f10d0 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/kern/kern_event.c,v 1.2.2.10 2004/04/04 07:03:14 cperciva Exp $
- * $DragonFly: src/sys/kern/kern_event.c,v 1.21 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/kern_event.c,v 1.22 2006/05/06 06:38:38 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -379,7 +379,7 @@ kqueue(struct kqueue_args *uap)
        TAILQ_INIT(&kq->kq_head);
        fp->f_data = kq;
        uap->sysmsg_result = fd;
-       fdrop(fp, curthread);
+       fdrop(fp);
        if (fdp->fd_knlistsize < 0)
                fdp->fd_knlistsize = 0;         /* this process has a kq */
        kq->kq_fdp = fdp;
@@ -455,7 +455,7 @@ kevent(struct kevent_args *uap)
        error = kqueue_scan(fp, uap->nevents, uap->eventlist, uap->timeout, td, &uap->sysmsg_result);
 done:
        if (fp != NULL)
-               fdrop(fp, p->p_thread);
+               fdrop(fp);
        return (error);
 }
 
@@ -585,7 +585,7 @@ kqueue_register(struct kqueue *kq, struct kevent *kev, struct thread *td)
 
 done:
        if (fp != NULL)
-               fdrop(fp, td);
+               fdrop(fp);
        return (error);
 }
 
@@ -795,7 +795,7 @@ kqueue_close(struct file *fp)
                        kn0 = SLIST_NEXT(kn, kn_link);
                        if (kq == kn->kn_kq) {
                                kn->kn_fop->f_detach(kn);
-                               fdrop(kn->kn_fp, td);
+                               fdrop(kn->kn_fp);
                                knote_free(kn);
                                *knp = kn0;
                        } else {
@@ -939,7 +939,7 @@ knote_drop(struct knote *kn, struct thread *td)
        if (kn->kn_status & KN_QUEUED)
                knote_dequeue(kn);
        if (kn->kn_fop->f_isfd)
-               fdrop(kn->kn_fp, td);
+               fdrop(kn->kn_fp);
        knote_free(kn);
 }
 
index eeac8ac..139d826 100644 (file)
@@ -31,7 +31,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  * 
- * $DragonFly: src/sys/kern/kern_fp.c,v 1.15 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/kern_fp.c,v 1.16 2006/05/06 06:38:38 dillon Exp $
  */
 
 /*
@@ -115,7 +115,7 @@ fp_open(const char *path, int flags, int mode, file_t *fpp)
        error = vn_open(&nd, fp, flags, mode);
     nlookup_done(&nd);
     if (error) {
-       fdrop(fp, td);
+       fdrop(fp);
        *fpp = NULL;
     }
     return(error);
@@ -191,7 +191,7 @@ fp_vpopen(struct vnode *vp, int flags, file_t *fpp)
 bad1:
     fp->f_ops = &badfileops;   /* open failed, don't close */
     fp->f_data = NULL;
-    fdrop(fp, td);
+    fdrop(fp);
     /* leave the vnode intact, but fall through and unlock it anyway */
 bad2:
     *fpp = NULL;
@@ -588,7 +588,7 @@ done:
 int
 fp_close(file_t fp)
 {
-    return(fdrop(fp, curthread));
+    return(fdrop(fp));
 }
 
 int
index bae7677..4d971d9 100644 (file)
@@ -37,7 +37,7 @@
  *
  *     @(#)sys_generic.c       8.5 (Berkeley) 1/21/94
  * $FreeBSD: src/sys/kern/sys_generic.c,v 1.55.2.10 2001/03/17 10:39:32 peter Exp $
- * $DragonFly: src/sys/kern/sys_generic.c,v 1.26 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/sys_generic.c,v 1.27 2006/05/06 06:38:38 dillon Exp $
  */
 
 #include "opt_ktrace.h"
@@ -234,7 +234,7 @@ kern_preadv(int fd, struct uio *auio, int flags, int *res)
        } else {
                error = dofileread(fd, fp, auio, flags, res);
        }
-       fdrop(fp, td);
+       fdrop(fp);
        return(error);
 }
 
@@ -421,7 +421,7 @@ kern_pwritev(int fd, struct uio *auio, int flags, int *res)
                error = dofilewrite(fd, fp, auio, flags, res);
        }
        
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -625,7 +625,7 @@ mapped_ioctl(int fd, u_long com, caddr_t uspc_data, struct ioctl_map *map)
                        if (error) {
                                if (memp != NULL)
                                        free(memp, M_IOCTLOPS);
-                               fdrop(fp, td);
+                               fdrop(fp);
                                return(error);
                        }
                } else {
@@ -678,7 +678,7 @@ mapped_ioctl(int fd, u_long com, caddr_t uspc_data, struct ioctl_map *map)
        }
        if (memp != NULL)
                free(memp, M_IOCTLOPS);
-       fdrop(fp, td);
+       fdrop(fp);
        return(error);
 }
 
index 95facb8..ef50efb 100644 (file)
@@ -17,7 +17,7 @@
  *    are met.
  *
  * $FreeBSD: src/sys/kern/sys_pipe.c,v 1.60.2.13 2002/08/05 15:05:15 des Exp $
- * $DragonFly: src/sys/kern/sys_pipe.c,v 1.33 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/sys_pipe.c,v 1.34 2006/05/06 06:38:38 dillon Exp $
  */
 
 /*
@@ -268,9 +268,9 @@ pipe(struct pipe_args *uap)
        if (error) {
                if (fdp->fd_files[fd1].fp == rf) {
                        funsetfd(fdp, fd1);
-                       fdrop(rf, td);
+                       fdrop(rf);
                }
-               fdrop(rf, td);
+               fdrop(rf);
                /* rpipe has been closed by fdrop(). */
                pipeclose(wpipe);
                return (error);
@@ -283,8 +283,8 @@ pipe(struct pipe_args *uap)
 
        rpipe->pipe_peer = wpipe;
        wpipe->pipe_peer = rpipe;
-       fdrop(rf, td);
-       fdrop(wf, td);
+       fdrop(rf);
+       fdrop(wf);
 
        return (0);
 }
index a58c673..74a9183 100644 (file)
@@ -35,7 +35,7 @@
  *
  *     @(#)uipc_syscalls.c     8.4 (Berkeley) 2/21/94
  * $FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.65.2.17 2003/04/04 17:11:16 tegge Exp $
- * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.64 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/uipc_syscalls.c,v 1.65 2006/05/06 06:38:38 dillon Exp $
  */
 
 #include "opt_ktrace.h"
@@ -120,7 +120,7 @@ kern_socket(int domain, int type, int protocol, int *res)
        if (error) {
                if (fdp->fd_files[fd].fp == fp) {
                        funsetfd(fdp, fd);
-                       fdrop(fp, td);
+                       fdrop(fp);
                }
        } else {
                fp->f_type = DTYPE_SOCKET;
@@ -129,7 +129,7 @@ kern_socket(int domain, int type, int protocol, int *res)
                fp->f_data = so;
                *res = fd;
        }
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -157,7 +157,7 @@ kern_bind(int s, struct sockaddr *sa)
        if (error)
                return (error);
        error = sobind((struct socket *)fp->f_data, sa, td);
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -192,7 +192,7 @@ kern_listen(int s, int backlog)
        if (error)
                return (error);
        error = solisten((struct socket *)fp->f_data, backlog, td);
-       fdrop(fp, td);
+       fdrop(fp);
        return(error);
 }
 
@@ -274,7 +274,7 @@ kern_accept(int s, struct sockaddr **name, int *namelen, int *res)
        error = falloc(p, &nfp, &fd);
        if (error) {            /* Probably ran out of file descriptors. */
                *res = -1;
-               fdrop(lfp, td);
+               fdrop(lfp);
                return (error);
        }
        *res = fd;
@@ -353,7 +353,7 @@ done:
                *res = -1;
                if (fdp->fd_files[fd].fp == nfp) {
                        funsetfd(fdp, fd);
-                       fdrop(nfp, td);
+                       fdrop(nfp);
                }
        }
 
@@ -361,8 +361,8 @@ done:
         * Release explicitly held references before returning.
         */
        if (nfp)
-               fdrop(nfp, td);
-       fdrop(lfp, td);
+               fdrop(nfp);
+       fdrop(lfp);
        return (error);
 }
 
@@ -463,7 +463,7 @@ bad:
        if (error == ERESTART)
                error = EINTR;
 done:
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -527,21 +527,21 @@ kern_socketpair(int domain, int type, int protocol, int *sv)
        fp1->f_type = fp2->f_type = DTYPE_SOCKET;
        fp1->f_flag = fp2->f_flag = FREAD|FWRITE;
        fp1->f_ops = fp2->f_ops = &socketops;
-       fdrop(fp1, td);
-       fdrop(fp2, td);
+       fdrop(fp1);
+       fdrop(fp2);
        return (error);
 free4:
        if (fdp->fd_files[sv[1]].fp == fp2) {
                funsetfd(fdp, sv[1]);
-               fdrop(fp2, td);
+               fdrop(fp2);
        }
-       fdrop(fp2, td);
+       fdrop(fp2);
 free3:
        if (fdp->fd_files[sv[0]].fp == fp1) {
                funsetfd(fdp, sv[0]);
-               fdrop(fp1, td);
+               fdrop(fp1);
        }
-       fdrop(fp1, td);
+       fdrop(fp1);
 free2:
        (void)soclose(so2);
 free1:
@@ -617,7 +617,7 @@ kern_sendmsg(int s, struct sockaddr *sa, struct uio *auio,
        if (error == 0)
                *res  = len - auio->uio_resid;
 done:
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -786,7 +786,7 @@ kern_recvmsg(int s, struct sockaddr **sa, struct uio *auio,
        if (error == 0)
                *res = len - auio->uio_resid;
 done:
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -975,7 +975,7 @@ kern_setsockopt(int s, struct sockopt *sopt)
                return (error);
 
        error = sosetopt((struct socket *)fp->f_data, sopt);
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -1022,7 +1022,7 @@ kern_getsockopt(int s, struct sockopt *sopt)
                return (error);
 
        error = sogetopt((struct socket *)fp->f_data, sopt);
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -1080,7 +1080,7 @@ kern_getsockname(int s, struct sockaddr **name, int *namelen)
        if (error)
                return (error);
        if (*namelen < 0) {
-               fdrop(fp, td);
+               fdrop(fp);
                return (EINVAL);
        }
        so = (struct socket *)fp->f_data;
@@ -1094,7 +1094,7 @@ kern_getsockname(int s, struct sockaddr **name, int *namelen)
                }
        }
 
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -1144,12 +1144,12 @@ kern_getpeername(int s, struct sockaddr **name, int *namelen)
        if (error)
                return (error);
        if (*namelen < 0) {
-               fdrop(fp, td);
+               fdrop(fp);
                return (EINVAL);
        }
        so = (struct socket *)fp->f_data;
        if ((so->so_state & (SS_ISCONNECTED|SS_ISCONFIRMING)) == 0) {
-               fdrop(fp, td);
+               fdrop(fp);
                return (ENOTCONN);
        }
        error = so_pru_peeraddr(so, &sa);
@@ -1162,7 +1162,7 @@ kern_getpeername(int s, struct sockaddr **name, int *namelen)
                }
        }
 
-       fdrop(fp, td);
+       fdrop(fp);
        return (error);
 }
 
@@ -1353,12 +1353,12 @@ sendfile(struct sendfile_args *uap)
                return (EBADF);
        }
        if (fp->f_type != DTYPE_VNODE) {
-               fdrop(fp, td);
+               fdrop(fp);
                return (EINVAL);
        }
        vp = (struct vnode *)fp->f_data;
        vref(vp);
-       fdrop(fp, td);
+       fdrop(fp);
 
        /*
         * If specified, get the pointer to the sf_hdtr struct for
@@ -1710,7 +1710,7 @@ retry_space:
        sbunlock(&so->so_snd);
 
 done:
-       fdrop(fp, td);
+       fdrop(fp);
 done0:
        if (mheader != NULL)
                m_freem(mheader);
@@ -1792,7 +1792,7 @@ noconnection:
        if (error) {
                if (fdp->fd_files[fd].fp == nfp) {
                        funsetfd(fdp, fd);
-                       fdrop(nfp, td);
+                       fdrop(nfp);
                }
        }
        crit_exit();
@@ -1801,8 +1801,8 @@ noconnection:
         */
 done:
        if (nfp != NULL)
-               fdrop(nfp, td);
-       fdrop(lfp, td);
+               fdrop(nfp);
+       fdrop(lfp);
        return (error);
 #else /* SCTP */
        return(EOPNOTSUPP);
index 5ee0b85..eac3c01 100644 (file)
@@ -14,7 +14,7 @@
  * of the author.  This software is distributed AS-IS.
  *
  * $FreeBSD: src/sys/kern/vfs_aio.c,v 1.70.2.28 2003/05/29 06:15:35 alc Exp $
- * $DragonFly: src/sys/kern/vfs_aio.c,v 1.26 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/vfs_aio.c,v 1.27 2006/05/06 06:38:38 dillon Exp $
  */
 
 /*
@@ -386,7 +386,7 @@ aio_free_entry(struct aiocblist *aiocbe)
        }
        aiocbe->jobstate = JOBST_NULL;
        callout_stop(&aiocbe->timeout);
-       fdrop(aiocbe->fd_file, curthread);
+       fdrop(aiocbe->fd_file);
        TAILQ_INSERT_HEAD(&aio_freejobs, aiocbe, list);
        return 0;
 }
@@ -1214,7 +1214,7 @@ _aio_aqueue(struct aiocb *job, struct aio_liojob *lj, int type)
                jobrefid++;
        
        if (opcode == LIO_NOP) {
-               fdrop(fp, p->p_thread);
+               fdrop(fp);
                TAILQ_INSERT_HEAD(&aio_freejobs, aiocbe, list);
                if (type == 0) {
                        suword(&job->_aiocb_private.error, 0);
@@ -1264,7 +1264,7 @@ _aio_aqueue(struct aiocb *job, struct aio_liojob *lj, int type)
        error = kqueue_register(kq, &kev, p->p_thread);
 aqueue_fail:
        if (error) {
-               fdrop(fp, p->p_thread);
+               fdrop(fp);
                TAILQ_INSERT_HEAD(&aio_freejobs, aiocbe, list);
                if (type == 0)
                        suword(&job->_aiocb_private.error, error);
index 420331b..7d26f2b 100644 (file)
@@ -31,7 +31,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/sys/kern/vfs_jops.c,v 1.24 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/vfs_jops.c,v 1.25 2006/05/06 06:38:38 dillon Exp $
  */
 /*
  * Each mount point may have zero or more independantly configured journals
@@ -432,7 +432,7 @@ journal_restart(struct mount *mp, struct file *fp,
     journal_destroy_threads(jo, flags);
 
     if (jo->fp)
-       fdrop(jo->fp, curthread);
+       fdrop(jo->fp);
 
     /*
      * Associate the new descriptor, reset the FIFO index, and recreate
@@ -497,7 +497,7 @@ journal_destroy(struct mount *mp, struct journal *jo, int flags)
     journal_destroy_threads(jo, flags);
 
     if (jo->fp)
-       fdrop(jo->fp, curthread);
+       fdrop(jo->fp);
     if (jo->fifo.membase)
        free(jo->fifo.membase, M_JFIFO);
     free(jo, M_JOURNAL);
index 5ffe0eb..fd80b76 100644 (file)
@@ -31,7 +31,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/sys/kern/vfs_journal.c,v 1.24 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/vfs_journal.c,v 1.25 2006/05/06 06:38:38 dillon Exp $
  */
 /*
  * Each mount point may have zero or more independantly configured journals
@@ -432,7 +432,7 @@ journal_restart(struct mount *mp, struct file *fp,
     journal_destroy_threads(jo, flags);
 
     if (jo->fp)
-       fdrop(jo->fp, curthread);
+       fdrop(jo->fp);
 
     /*
      * Associate the new descriptor, reset the FIFO index, and recreate
@@ -497,7 +497,7 @@ journal_destroy(struct mount *mp, struct journal *jo, int flags)
     journal_destroy_threads(jo, flags);
 
     if (jo->fp)
-       fdrop(jo->fp, curthread);
+       fdrop(jo->fp);
     if (jo->fifo.membase)
        free(jo->fifo.membase, M_JFIFO);
     free(jo, M_JOURNAL);
index 553a41f..a2130d2 100644 (file)
@@ -37,7 +37,7 @@
  *
  *     @(#)vfs_syscalls.c      8.13 (Berkeley) 4/15/94
  * $FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.151.2.18 2003/04/04 20:35:58 tegge Exp $
- * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.86 2006/05/06 02:43:12 dillon Exp $
+ * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.87 2006/05/06 06:38:38 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -757,7 +757,7 @@ mountctl(struct mountctl_args *uap)
         */
        error = kern_mountctl(path, uap->op, fp, ctl, uap->ctllen, buf, uap->buflen, &uap->sysmsg_result);
        if (fp)
-               fdrop(fp, td);
+               fdrop(fp);
        if (error == 0 && uap->sysmsg_result > 0)
                error = copyout(buf, uap->buf, uap->sysmsg_result);
 done:
@@ -1318,16 +1318,16 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res)
                                error = dupfdopen(fdp, indx, lp->lwp_dupfd, flags, error);
                                if (error == 0) {
                                        *res = indx;
-                                       fdrop(fp, td);  /* our ref */
+                                       fdrop(fp);      /* our ref */
                                        return (0);
                                }
                                if (fdp->fd_files[indx].fp == fp) {
                                        funsetfd(fdp, indx);
-                                       fdrop(fp, td);  /* fd_files[] ref */
+                                       fdrop(fp);      /* fd_files[] ref */
                                }
                        }
                }
-               fdrop(fp, td);  /* our ref */
+               fdrop(fp);      /* our ref */
                if (error == ERESTART)
                        error = EINTR;
                return (error);
@@ -1341,7 +1341,7 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res)
        vp = (struct vnode *)fp->f_data;
        vref(vp);
        if ((error = fsetfd(p, fp, &indx)) != 0) {
-               fdrop(fp, td);
+               fdrop(fp);
                vrele(vp);
                return (error);
        }
@@ -1365,7 +1365,7 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res)
                    ("Open file descriptor lost all refs"));
                vrele(vp);
                fo_close(fp);
-               fdrop(fp, td);
+               fdrop(fp);
                *res = indx;
                return 0;
        }
@@ -1392,9 +1392,9 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res)
                        vrele(vp);
                        if (fdp->fd_files[indx].fp == fp) {
                                funsetfd(fdp, indx);
-                               fdrop(fp, td);
+                               fdrop(fp);
                        }
-                       fdrop(fp, td);
+                       fdrop(fp);
                        return (error);
                }
                fp->f_flag |= FHASLOCK;
@@ -1414,7 +1414,7 @@ kern_open(struct nlookupdata *nd, int oflags, int mode, int *res)
         * release our private reference, leaving the one associated with the
         * descriptor table intact.
         */
-       fdrop(fp, td);
+       fdrop(fp);
        *res = indx;
        return (0);
 }
@@ -3197,7 +3197,7 @@ fhopen(struct fhopen_args *uap)
                 */
                fp->f_ops = &badfileops;
                fp->f_data = NULL;
-               fdrop(fp, td);
+               fdrop(fp);
                goto bad;
        }
 
@@ -3208,7 +3208,7 @@ fhopen(struct fhopen_args *uap)
         */
        if (vp->v_type == VREG && vp->v_object == NULL) {
                printf("fhopen: regular file did not have VM object: %p\n", vp);
-               fdrop(fp, td);
+               fdrop(fp);
                goto bad;
        }
 
@@ -3216,7 +3216,7 @@ fhopen(struct fhopen_args *uap)
         * The open was successful, associate it with a file descriptor.
         */
        if ((error = fsetfd(p, fp, &indx)) != 0) {
-               fdrop(fp, td);
+               fdrop(fp);
                goto bad;
        }
 
@@ -3240,13 +3240,13 @@ fhopen(struct fhopen_args *uap)
                         */
                        if (fdp->fd_files[indx].fp == fp) {
                                funsetfd(fdp, indx);
-                               fdrop(fp, td);
+                               fdrop(fp);
                        }
 
                        /*
                         * release our private reference.
                         */
-                       fdrop(fp, td);
+                       fdrop(fp);
                        vrele(vp);
                        return (error);
                }
@@ -3255,7 +3255,7 @@ fhopen(struct fhopen_args *uap)
        }
 
        vput(vp);
-       fdrop(fp, td);
+       fdrop(fp);
        uap->sysmsg_result = indx;
        return (0);
 
index 7f7280b..d4b027f 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/opencrypto/cryptodev.c,v 1.4.2.4 2003/06/03 00:09:02 sam Exp $        */
-/*     $DragonFly: src/sys/opencrypto/cryptodev.c,v 1.13 2006/05/06 02:43:13 dillon Exp $      */
+/*     $DragonFly: src/sys/opencrypto/cryptodev.c,v 1.14 2006/05/06 06:38:38 dillon Exp $      */
 /*     $OpenBSD: cryptodev.c,v 1.52 2002/06/19 07:22:46 deraadt Exp $  */
 
 /*
@@ -721,7 +721,7 @@ cryptoioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct thread *td)
                f->f_ops = &cryptofops;
                f->f_data = fcr;
                *(u_int32_t *)data = fd;
-               fdrop(f, td);
+               fdrop(f);
                break;
        default:
                error = EINVAL;
index d2e4033..bd0ae19 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)file.h      8.3 (Berkeley) 1/9/95
  * $FreeBSD: src/sys/sys/file.h,v 1.22.2.7 2002/11/21 23:39:24 sam Exp $
- * $DragonFly: src/sys/sys/file.h,v 1.16 2006/05/06 02:43:13 dillon Exp $
+ * $DragonFly: src/sys/sys/file.h,v 1.17 2006/05/06 06:38:39 dillon Exp $
  */
 
 #ifndef _SYS_FILE_H_
@@ -120,8 +120,7 @@ LIST_HEAD(filelist, file);
 MALLOC_DECLARE(M_FILE);
 #endif
 
-extern int fdrop (struct file *fp, struct thread *td);
-
+extern int fdrop (struct file *fp);
 extern int fp_open(const char *path, int flags, int mode, struct file **fpp);
 extern int fp_vpopen(struct vnode *vp, int flags, struct file **fpp);
 extern int fp_pread(struct file *fp, void *buf, size_t nbytes, off_t offset, ssize_t *res);
index f7c6f4f..3849aba 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)file.h      8.3 (Berkeley) 1/9/95
  * $FreeBSD: src/sys/sys/file.h,v 1.22.2.7 2002/11/21 23:39:24 sam Exp $
- * $DragonFly: src/sys/sys/file2.h,v 1.4 2006/05/06 02:43:13 dillon Exp $
+ * $DragonFly: src/sys/sys/file2.h,v 1.5 2006/05/06 06:38:39 dillon Exp $
  */
 
 #ifndef _SYS_FILE2_H_
@@ -57,7 +57,7 @@ fo_read(
 
        fhold(fp);
        error = (*fp->f_ops->fold_read)(fp, uio, cred, flags);
-       fdrop(fp, curthread);
+       fdrop(fp);
        return (error);
 }
 
@@ -72,7 +72,7 @@ fo_write(
 
        fhold(fp);
        error = (*fp->f_ops->fold_write)(fp, uio, cred, flags);
-       fdrop(fp, curthread);
+       fdrop(fp);
        return (error);
 }
 
@@ -87,7 +87,7 @@ fo_ioctl(
 
        fhold(fp);
        error = (*fp->f_ops->fold_ioctl)(fp, com, data, cred);
-       fdrop(fp, curthread);
+       fdrop(fp);
        return (error);
 }
 
@@ -101,7 +101,7 @@ fo_poll(
 
        fhold(fp);
        error = (*fp->f_ops->fold_poll)(fp, events, cred);
-       fdrop(fp, curthread);
+       fdrop(fp);
        return (error);
 }
 
@@ -112,7 +112,7 @@ fo_stat(struct file *fp, struct stat *sb, struct ucred *cred)
 
        fhold(fp);
        error = (*fp->f_ops->fold_stat)(fp, sb, cred);
-       fdrop(fp, curthread);
+       fdrop(fp);
        return (error);
 }
 
index cb2ae42..8ded245 100644 (file)
@@ -35,7 +35,7 @@
  *
  *     @(#)nfs_syscalls.c      8.5 (Berkeley) 3/30/95
  * $FreeBSD: src/sys/nfs/nfs_syscalls.c,v 1.58.2.1 2000/11/26 02:30:06 dillon Exp $
- * $DragonFly: src/sys/vfs/nfs/nfs_syscalls.c,v 1.23 2006/03/27 16:18:39 dillon Exp $
+ * $DragonFly: src/sys/vfs/nfs/nfs_syscalls.c,v 1.24 2006/05/06 06:38:39 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -209,12 +209,12 @@ nfssvc(struct nfssvc_args *uap)
                        error = getsockaddr(&nam, nfsdarg.name,
                                            nfsdarg.namelen);
                        if (error) {
-                               fdrop(fp, td);
+                               fdrop(fp);
                                return (error);
                        }
                }
                error = nfssvc_addsock(fp, nam, td);
-               fdrop(fp, td);
+               fdrop(fp);
        } else {
                error = copyin(uap->argp, (caddr_t)nsd, sizeof (*nsd));
                if (error)
index cfcc54a..575b091 100644 (file)
@@ -36,7 +36,7 @@
  *     @(#)portal_vfsops.c     8.11 (Berkeley) 5/14/95
  *
  * $FreeBSD: src/sys/miscfs/portal/portal_vfsops.c,v 1.26.2.2 2001/07/26 20:37:16 iedowse Exp $
- * $DragonFly: src/sys/vfs/portal/portal_vfsops.c,v 1.18 2006/05/05 21:15:10 dillon Exp $
+ * $DragonFly: src/sys/vfs/portal/portal_vfsops.c,v 1.19 2006/05/06 06:38:39 dillon Exp $
  */
 
 /*
@@ -101,7 +101,7 @@ portal_mount(struct mount *mp, char *path, caddr_t data, struct thread *td)
                return (error);
        so = (struct socket *) fp->f_data;
        if (so->so_proto->pr_domain->dom_family != AF_UNIX) {
-               fdrop(fp, td);
+               fdrop(fp);
                return (ESOCKTNOSUPPORT);
        }
 
@@ -119,7 +119,7 @@ portal_mount(struct mount *mp, char *path, caddr_t data, struct thread *td)
        if (error) {
                FREE(fmp, M_PORTALFSMNT);
                FREE(pn, M_TEMP);
-               fdrop(fp, td);
+               fdrop(fp);
                return (error);
        }
 
@@ -147,7 +147,7 @@ portal_mount(struct mount *mp, char *path, caddr_t data, struct thread *td)
        vx_unlock(rvp);
 
        (void)portal_statfs(mp, &mp->mnt_stat, td);
-       fdrop(fp, td);
+       fdrop(fp);
        return (0);
 }
 
index 97e221e..25428e7 100644 (file)
@@ -39,7 +39,7 @@
  *
  *     @(#)vm_mmap.c   8.4 (Berkeley) 1/12/94
  * $FreeBSD: src/sys/vm/vm_mmap.c,v 1.108.2.6 2002/07/02 20:06:19 dillon Exp $
- * $DragonFly: src/sys/vm/vm_mmap.c,v 1.26 2006/05/06 02:43:15 dillon Exp $
+ * $DragonFly: src/sys/vm/vm_mmap.c,v 1.27 2006/05/06 06:38:39 dillon Exp $
  */
 
 /*
@@ -373,7 +373,7 @@ kern_mmap(caddr_t uaddr, size_t ulen, int uprot, int uflags, int fd,
                *res = (void *)(addr + pageoff);
 done:
        if (fp)
-               fdrop(fp, td);
+               fdrop(fp);
        return (error);
 }