CVS log for src/sys/fs/fifofs/fifo_vnops.c
Up to [FreeBSD] / src / sys / fs / fifofs
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.152.2.5: download - view: text, markup, annotated - select for diffs
Sun Jan 1 23:46:34 2012 UTC (5 weeks, 3 days ago) by kib
Branches: RELENG_8
Diff to: previous 1.152.2.4: preferred, colored; branchpoint 1.152: preferred, colored; next MAIN 1.153: preferred, colored
Changes since revision 1.152.2.4: +1 -1 lines
SVN rev 229246 on 2012-01-01 23:46:34Z by kib MFC r228263: Initialize fifoinfo fi_wgen field on open.
Revision 1.157.2.2: download - view: text, markup, annotated - select for diffs
Sun Jan 1 23:46:08 2012 UTC (5 weeks, 3 days ago) by kib
Branches: RELENG_9
Diff to: previous 1.157.2.1: preferred, colored; branchpoint 1.157: preferred, colored; next MAIN 1.158: preferred, colored
Changes since revision 1.157.2.1: +1 -1 lines
SVN rev 229245 on 2012-01-01 23:46:08Z by kib MFC r228263: Initialize fifoinfo fi_wgen field on open.
Revision 1.158: download - view: text, markup, annotated - select for diffs
Sun Dec 4 19:25:49 2011 UTC (2 months ago) by kib
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.157: preferred, colored
Changes since revision 1.157: +1 -1 lines
SVN rev 228263 on 2011-12-04 19:25:49Z by kib Initialize fifoinfo fi_wgen field on open. The only important is the difference between fi_wgen and f_seqcount, so the change is purely cosmetic, but it makes the code easier to understand. Submitted by: gianni MFC after: 2 weeks
Revision 1.157.2.1.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 11 04:20:22 2011 UTC (2 months, 4 weeks ago) by kensmith
Branches: RELENG_9_0
CVS tags: RELENG_9_0_0_RELEASE
Diff to: previous 1.157.2.1: preferred, colored; next MAIN 1.157.2.2: preferred, colored
Changes since revision 1.157.2.1: +0 -0 lines
SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release cycle. Approved by: re (implicit)
Revision 1.157.2.1: download - view: text, markup, annotated - select for diffs
Fri Sep 23 00:51:37 2011 UTC (4 months, 2 weeks ago) by kensmith
Branches: RELENG_9
CVS tags: RELENG_9_0_BP
Branch point for: RELENG_9_0
Diff to: previous 1.157: preferred, colored
Changes since revision 1.157: +0 -0 lines
SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith Copy head to stable/9 as part of 9.0-RELEASE release cycle. Approved by: re (implicit)
Revision 1.157: download - view: text, markup, annotated - select for diffs
Tue Aug 16 20:07:47 2011 UTC (5 months, 3 weeks ago) by kib
Branches: MAIN
CVS tags: RELENG_9_BP
Branch point for: RELENG_9
Diff to: previous 1.156: preferred, colored
Changes since revision 1.156: +2 -0 lines
SVN rev 224914 on 2011-08-16 20:07:47Z by kib Add the fo_chown and fo_chmod methods to struct fileops and use them to implement fchown(2) and fchmod(2) support for several file types that previously lacked it. Add MAC entries for chown/chmod done on posix shared memory and (old) in-kernel posix semaphores. Based on the submission by: glebius Reviewed by: rwatson Approved by: re (bz)
Revision 1.138.2.5.4.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:10:29 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_7_4
CVS tags: RELENG_7_4_0_RELEASE
Diff to: previous 1.138.2.5: preferred, colored; next MAIN 1.139: preferred, colored
Changes since revision 1.138.2.5: +0 -0 lines
SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release. Approved by: re (implicit)
Revision 1.152.2.4.4.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:09:25 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_8_2
CVS tags: RELENG_8_2_0_RELEASE
Diff to: previous 1.152.2.4: preferred, colored; next MAIN 1.152.2.5: preferred, colored
Changes since revision 1.152.2.4: +0 -0 lines
SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release. Approved by: re (implicit)
Revision 1.152.2.4.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 14 02:09:06 2010 UTC (19 months, 3 weeks ago) by kensmith
Branches: RELENG_8_1
CVS tags: RELENG_8_1_0_RELEASE
Diff to: previous 1.152.2.4: preferred, colored; next MAIN 1.152.2.5: preferred, colored
Changes since revision 1.152.2.4: +0 -0 lines
SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith Copy stable/8 to releng/8.1 in preparation for 8.1-RC1. Approved by: re (implicit)
Revision 1.152.2.4: download - view: text, markup, annotated - select for diffs
Sat Mar 27 17:22:11 2010 UTC (22 months, 2 weeks ago) by trasz
Branches: RELENG_8
CVS tags: RELENG_8_2_BP, RELENG_8_1_BP
Branch point for: RELENG_8_2, RELENG_8_1
Diff to: previous 1.152.2.3: preferred, colored; branchpoint 1.152: preferred, colored
Changes since revision 1.152.2.3: +0 -1 lines
SVN rev 205748 on 2010-03-27 17:22:11Z by trasz MFC r197680: Provide default implementation for VOP_ACCESS(9), so that filesystems which want to provide VOP_ACCESSX(9) don't have to implement both. Note that this commit makes implementation of either of these two mandatory. Reviewed by: kib
Revision 1.138.2.5.2.1: download - view: text, markup, annotated - select for diffs
Wed Feb 10 00:26:20 2010 UTC (23 months, 4 weeks ago) by kensmith
Branches: RELENG_7_3
CVS tags: RELENG_7_3_0_RELEASE
Diff to: previous 1.138.2.5: preferred, colored; next MAIN 1.139: preferred, colored
Changes since revision 1.138.2.5: +0 -0 lines
SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process. Approved by: re (implicit)
Revision 1.113.2.21: download - view: text, markup, annotated - select for diffs
Tue Nov 24 14:40:50 2009 UTC (2 years, 2 months ago) by attilio
Branches: RELENG_6
Diff to: previous 1.113.2.20: preferred, colored; branchpoint 1.113: preferred, colored; next MAIN 1.114: preferred, colored
Changes since revision 1.113.2.20: +8 -8 lines
SVN rev 199750 on 2009-11-24 14:40:50Z by attilio MFC 199007: Fix a memory leak.
Revision 1.138.2.5: download - view: text, markup, annotated - select for diffs
Sun Nov 22 23:46:44 2009 UTC (2 years, 2 months ago) by attilio
Branches: RELENG_7
CVS tags: RELENG_7_4_BP, RELENG_7_3_BP
Branch point for: RELENG_7_4, RELENG_7_3
Diff to: previous 1.138.2.4: preferred, colored; branchpoint 1.138: preferred, colored; next MAIN 1.139: preferred, colored
Changes since revision 1.138.2.4: +9 -8 lines
SVN rev 199682 on 2009-11-22 23:46:44Z by attilio MFC r199007: Fix a memory leak.
Revision 1.152.2.3: download - view: text, markup, annotated - select for diffs
Sun Nov 22 16:09:27 2009 UTC (2 years, 2 months ago) by attilio
Branches: RELENG_8
Diff to: previous 1.152.2.2: preferred, colored; branchpoint 1.152: preferred, colored
Changes since revision 1.152.2.2: +9 -8 lines
SVN rev 199652 on 2009-11-22 16:09:27Z by attilio MFC r199007: Fix a memory leak.
Revision 1.156: download - view: text, markup, annotated - select for diffs
Fri Nov 6 22:29:46 2009 UTC (2 years, 3 months ago) by attilio
Branches: MAIN
Diff to: previous 1.155: preferred, colored
Changes since revision 1.155: +9 -8 lines
SVN rev 199007 on 2009-11-06 22:29:46Z by attilio - Improve comments about locking of the "struct fifoinfo" which is a bit unclear. - Fix a memory leak [0] [0] Diagnosed by: Dorr H. Clark <dclark at engr dot scu dot edu> MFC: 1 week
Revision 1.152.2.2.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 25 01:10:29 2009 UTC (2 years, 3 months ago) by kensmith
Branches: RELENG_8_0
CVS tags: RELENG_8_0_0_RELEASE
Diff to: previous 1.152.2.2: preferred, colored; next MAIN 1.152.2.3: preferred, colored
Changes since revision 1.152.2.2: +0 -0 lines
SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure. Approved by: re (implicit)
Revision 1.155: download - view: text, markup, annotated - select for diffs
Thu Oct 1 17:22:03 2009 UTC (2 years, 4 months ago) by trasz
Branches: MAIN
Diff to: previous 1.154: preferred, colored
Changes since revision 1.154: +0 -1 lines
SVN rev 197680 on 2009-10-01 17:22:03Z by trasz Provide default implementation for VOP_ACCESS(9), so that filesystems which want to provide VOP_ACCESSX(9) don't have to implement both. Note that this commit makes implementation of either of these two mandatory. Reviewed by: kib
Revision 1.154: download - view: text, markup, annotated - select for diffs
Sat Sep 12 20:03:45 2009 UTC (2 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.153: preferred, colored
Changes since revision 1.153: +15 -6 lines
SVN rev 197134 on 2009-09-12 20:03:45Z by rwatson Use C99 initialization for struct filterops. Obtained from: Mac OS X Sponsored by: Apple Inc. MFC after: 3 weeks
Revision 1.152.2.2: download - view: text, markup, annotated - select for diffs
Tue Sep 1 20:58:41 2009 UTC (2 years, 5 months ago) by jilles
Branches: RELENG_8
CVS tags: RELENG_8_0_BP
Branch point for: RELENG_8_0
Diff to: previous 1.152.2.1: preferred, colored; branchpoint 1.152: preferred, colored
Changes since revision 1.152.2.1: +3 -0 lines
SVN rev 196741 on 2009-09-01 20:58:41Z by jilles MFC r196460 Fix the conformance of poll(2) for sockets after r195423 by returning POLLHUP instead of POLLIN for several cases. Now, the tools/regression/poll results for FreeBSD are closer to that of the Solaris and Linux. Also, improve the POSIX conformance by explicitely clearing POLLOUT when POLLHUP is reported in pollscan(), making the fix global. Submitted by: bde Reviewed by: rwatson MFC r196556 Fix poll() on half-closed sockets, while retaining POLLHUP for fifos. This reverts part of r196460, so that sockets only return POLLHUP if both directions are closed/error. Fifos get POLLHUP by closing the unused direction immediately after creating the sockets. The tools/regression/poll/*poll.c tests now pass except for two other things: - if POLLHUP is returned, POLLIN is always returned as well instead of only when there is data left in the buffer to be read - fifo old/new reader distinction does not work the way POSIX specs it Reviewed by: kib, bde MFC r196554 Add some tests for poll(2)/shutdown(2) interaction. Approved by: re (kensmith)
Revision 1.153: download - view: text, markup, annotated - select for diffs
Tue Aug 25 21:44:14 2009 UTC (2 years, 5 months ago) by jilles
Branches: MAIN
Diff to: previous 1.152: preferred, colored
Changes since revision 1.152: +3 -0 lines
SVN rev 196556 on 2009-08-25 21:44:14Z by jilles Fix poll() on half-closed sockets, while retaining POLLHUP for fifos. This reverts part of r196460, so that sockets only return POLLHUP if both directions are closed/error. Fifos get POLLHUP by closing the unused direction immediately after creating the sockets. The tools/regression/poll/*poll.c tests now pass except for two other things: - if POLLHUP is returned, POLLIN is always returned as well instead of only when there is data left in the buffer to be read - fifo old/new reader distinction does not work the way POSIX specs it Reviewed by: kib, bde
Revision 1.152.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 3 08:13:06 2009 UTC (2 years, 6 months ago) by kensmith
Branches: RELENG_8
Diff to: previous 1.152: preferred, colored
Changes since revision 1.152: +0 -0 lines
SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith Copy head to stable/8 as part of 8.0 Release cycle. Approved by: re (Implicit)
Revision 1.152: download - view: text, markup, annotated - select for diffs
Tue Jul 7 09:43:44 2009 UTC (2 years, 7 months ago) by kib
Branches: MAIN
CVS tags: RELENG_8_BP
Branch point for: RELENG_8
Diff to: previous 1.151: preferred, colored
Changes since revision 1.151: +14 -20 lines
SVN rev 195423 on 2009-07-07 09:43:44Z by kib Fix poll(2) and select(2) for named pipes to return "ready for read" when all writers, observed by reader, exited. Use writer generation counter for fifo, and store the snapshot of the fifo generation in the f_seqcount field of struct file, that is otherwise unused for fifos. Set FreeBSD-undocumented POLLINIGNEOF flag only when file f_seqcount is equal to fifo' fi_wgen, and revert r89376. Fix POLLINIGNEOF for sockets and pipes, and return POLLHUP for them. Note that the patch does not fix not returning POLLHUP for fifos. PR: kern/94772 Submitted by: bde (original version) Reviewed by: rwatson, jilles Approved by: re (kensmith) MFC after: 6 weeks (might be)
Revision 1.138.2.4: download - view: text, markup, annotated - select for diffs
Wed Jun 24 09:54:05 2009 UTC (2 years, 7 months ago) by kib
Branches: RELENG_7
Diff to: previous 1.138.2.3: preferred, colored; branchpoint 1.138: preferred, colored
Changes since revision 1.138.2.3: +1 -1 lines
SVN rev 194817 on 2009-06-24 09:54:05Z by kib MFC r193923: s/a_fdidx/a_fp/ for VOP_OPEN comments that inline struct vop_open_args definition. MFC r193924: Fix r193923 by noting that type of a_fp is struct file *, not int.
Revision 1.138.2.3: download - view: text, markup, annotated - select for diffs
Wed Jun 24 09:45:10 2009 UTC (2 years, 7 months ago) by kib
Branches: RELENG_7
Diff to: previous 1.138.2.2: preferred, colored; branchpoint 1.138: preferred, colored
Changes since revision 1.138.2.2: +2 -40 lines
SVN rev 194816 on 2009-06-24 09:45:10Z by kib MFC r193922: Remove unused VOP_IOCTL and VOP_KQFILTER implementations for fifofs.
Revision 1.151: download - view: text, markup, annotated - select for diffs
Wed Jun 10 14:09:05 2009 UTC (2 years, 8 months ago) by kib
Branches: MAIN
Diff to: previous 1.150: preferred, colored
Changes since revision 1.150: +1 -1 lines
SVN rev 193923 on 2009-06-10 14:09:05Z by kib s/a_fdidx/a_fp/ for VOP_OPEN comments that inline struct vop_open_args definition. Discussed with: bde MFC after: 2 weeks
Revision 1.150: download - view: text, markup, annotated - select for diffs
Wed Jun 10 14:02:22 2009 UTC (2 years, 8 months ago) by kib
Branches: MAIN
Diff to: previous 1.149: preferred, colored
Changes since revision 1.149: +2 -40 lines
SVN rev 193922 on 2009-06-10 14:02:22Z by kib Remove unused VOP_IOCTL and VOP_KQFILTER implementations for fifofs. MFC after: 2 weeks
Revision 1.138.2.2.2.1: download - view: text, markup, annotated - select for diffs
Wed Apr 15 03:14:26 2009 UTC (2 years, 9 months ago) by kensmith
Branches: RELENG_7_2
CVS tags: RELENG_7_2_0_RELEASE
Diff to: previous 1.138.2.2: preferred, colored; next MAIN 1.138.2.3: preferred, colored
Changes since revision 1.138.2.2: +0 -0 lines
SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE. Approved by: re (implicit)
Revision 1.149: download - view: text, markup, annotated - select for diffs
Fri Apr 10 10:52:19 2009 UTC (2 years, 10 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.148: preferred, colored
Changes since revision 1.148: +0 -1 lines
SVN rev 190888 on 2009-04-10 10:52:19Z by rwatson Remove VOP_LEASE and supporting functions. This hasn't been used since the removal of NQNFS, but was left in in case it was required for NFSv4. Since our new NFSv4 client and server can't use it for their requirements, GC the old mechanism, as well as other unused lease- related code and interfaces. Due to its impact on kernel programming and binary interfaces, this change should not be MFC'd. Proposed by: jeff Reviewed by: jeff Discussed with: rmacklem, zach loafman @ isilon
Revision 1.138.2.2: download - view: text, markup, annotated - select for diffs
Mon Feb 9 12:22:49 2009 UTC (3 years ago) by kib
Branches: RELENG_7
CVS tags: RELENG_7_2_BP
Branch point for: RELENG_7_2
Diff to: previous 1.138.2.1: preferred, colored; branchpoint 1.138: preferred, colored
Changes since revision 1.138.2.1: +4 -1 lines
SVN rev 188389 on 2009-02-09 12:22:49Z by kib MFC r187715: The kernel may do unbalanced calls to fifo_close() for fifo vnode, without corresponding number of fifo_open(). This causes assertion failure in fifo_close() due to vp->v_fifoinfo being NULL for kernel with INVARIANTS, or NULL pointer dereference otherwise. In fact, we may ignore excess calls to fifo_close() without bad consequences. Turn KASSERT() into the return, and print warning for now.
Revision 1.148: download - view: text, markup, annotated - select for diffs
Fri Feb 6 20:06:48 2009 UTC (3 years ago) by jhb
Branches: MAIN
Diff to: previous 1.147: preferred, colored
Changes since revision 1.147: +1 -0 lines
SVN rev 188244 on 2009-02-06 20:06:48Z by jhb Tweak the output of VOP_PRINT/vn_printf() some. - Align the fifo output in fifo_print() with other vn_printf() output. - Remove the leading space from lockmgr_printinfo() so its output lines up in vn_printf(). - lockmgr_printinfo() now ends with a newline, so remove an extra newline from vn_printf().
Revision 1.147: download - view: text, markup, annotated - select for diffs
Wed Jan 28 18:10:57 2009 UTC (3 years ago) by jhb
Branches: MAIN
Diff to: previous 1.146: preferred, colored
Changes since revision 1.146: +2 -2 lines
SVN rev 187832 on 2009-01-28 18:10:57Z by jhb Assert an exclusive vnode lock for fifo_cleanup() and fifo_close() since they change v_fifoinfo. Discussed with: ups (a while ago)
Revision 1.146: download - view: text, markup, annotated - select for diffs
Mon Jan 26 14:21:00 2009 UTC (3 years ago) by kib
Branches: MAIN
Diff to: previous 1.145: preferred, colored
Changes since revision 1.145: +4 -1 lines
SVN rev 187715 on 2009-01-26 14:21:00Z by kib The kernel may do unbalanced calls to fifo_close() for fifo vnode, without corresponding number of fifo_open(). This causes assertion failure in fifo_close() due to vp->v_fifoinfo being NULL for kernel with INVARIANTS, or NULL pointer dereference otherwise. In fact, we may ignore excess calls to fifo_close() without bad consequences. Turn KASSERT() into the return, and print warning for now. Tested by: pho Reviewed by: rwatson MFC after: 2 weeks
Revision 1.138.2.1.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 25 02:59:29 2008 UTC (3 years, 2 months ago) by kensmith
Branches: RELENG_7_1
CVS tags: RELENG_7_1_0_RELEASE
Diff to: previous 1.138.2.1: preferred, colored; next MAIN 1.138.2.2: preferred, colored
Changes since revision 1.138.2.1: +0 -0 lines
SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith Create releng/7.1 in preparation for moving into RC phase of 7.1 release cycle. Approved by: re (implicit)
Revision 1.145: download - view: text, markup, annotated - select for diffs
Thu Oct 23 15:53:51 2008 UTC (3 years, 3 months ago) by des
Branches: MAIN
Diff to: previous 1.144: preferred, colored
Changes since revision 1.144: +2 -2 lines
SVN rev 184205 on 2008-10-23 15:53:51Z by des Retire the MALLOC and FREE macros. They are an abomination unto style(9). MFC after: 3 months
Revision 1.113.2.20.4.1: download - view: text, markup, annotated - select for diffs
Thu Oct 2 02:57:24 2008 UTC (3 years, 4 months ago) by kensmith
Branches: RELENG_6_4
CVS tags: RELENG_6_4_0_RELEASE
Diff to: previous 1.113.2.20: preferred, colored; next MAIN 1.113.2.21: preferred, colored
Changes since revision 1.113.2.20: +0 -0 lines
SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith Create releng/6.4 from stable/6 in preparation for 6.4-RC1. Approved by: re (implicit)
Revision 1.138.2.1: download - view: text, markup, annotated - select for diffs
Sun Apr 27 14:24:37 2008 UTC (3 years, 9 months ago) by rwatson
Branches: RELENG_7
CVS tags: RELENG_7_1_BP
Branch point for: RELENG_7_1
Diff to: previous 1.138: preferred, colored
Changes since revision 1.138: +4 -10 lines
Remove fifo_vnops.c:1.143 from HEAD to RELENG_7: Remove Giant acquisition around soreceive() and sosend() in fifofs. The bug that caused us to reintroduce it is believed to be fixed, and Kris says he no longer sees problems with fifofs in highly parallel builds. Pointed out by: kris
Revision 1.144: download - view: text, markup, annotated - select for diffs
Wed Mar 12 10:11:56 2008 UTC (3 years, 10 months ago) by jeff
Branches: MAIN
Diff to: previous 1.143: preferred, colored
Changes since revision 1.143: +1 -1 lines
Remove kernel support for M:N threading. While the KSE project was quite successful in bringing threading to FreeBSD, the M:N approach taken by the kse library was never developed to its full potential. Backwards compatibility will be provided via libmap.conf for dynamically linked binaries and static binaries will be broken.
Revision 1.143: download - view: text, markup, annotated - select for diffs
Sat Jan 26 12:34:23 2008 UTC (4 years ago) by rwatson
Branches: MAIN
Diff to: previous 1.142: preferred, colored
Changes since revision 1.142: +4 -10 lines
Remove Giant acquisition around soreceive() and sosend() in fifofs. The bug that caused us to reintroduce it is believed to be fixed, and Kris says he no longer sees problems with fifofs in highly parallel builds. If this works out, we'll MFC it for 7.1. MFC after: 3 months Pointed out by: kris
Revision 1.142: download - view: text, markup, annotated - select for diffs
Sun Jan 13 14:44:03 2008 UTC (4 years ago) by attilio
Branches: MAIN
Diff to: previous 1.141: preferred, colored
Changes since revision 1.141: +2 -2 lines
VOP_LOCK1() (and so VOP_LOCK()) and VOP_UNLOCK() are only used in conjuction with 'thread' argument passing which is always curthread. Remove the unuseful extra-argument and pass explicitly curthread to lower layer functions, when necessary. KPI results broken by this change, which should affect several ports, so version bumping and manpage update will be further committed. Tested by: kris, pho, Diego Sardina <siarodx at gmail dot com>
Revision 1.141: download - view: text, markup, annotated - select for diffs
Thu Jan 10 01:10:45 2008 UTC (4 years, 1 month ago) by attilio
Branches: MAIN
Diff to: previous 1.140: preferred, colored
Changes since revision 1.140: +2 -2 lines
vn_lock() is currently only used with the 'curthread' passed as argument. Remove this argument and pass curthread directly to underlying VOP_LOCK1() VFS method. This modify makes the code cleaner and in particular remove an annoying dependence helping next lockmgr() cleanup. KPI results, obviously, changed. Manpage and FreeBSD_version will be updated through further commits. As a side note, would be valuable to say that next commits will address a similar cleanup about VFS methods, in particular vop_lock1 and vop_unlock. Tested by: Diego Sardina <siarodx at gmail dot com>, Andrea Di Pasquale <whyx dot it at gmail dot com>
Revision 1.140: download - view: text, markup, annotated - select for diffs
Mon Jan 7 20:05:18 2008 UTC (4 years, 1 month ago) by jhb
Branches: MAIN
Diff to: previous 1.139: preferred, colored
Changes since revision 1.139: +9 -0 lines
Make ftruncate a 'struct file' operation rather than a vnode operation. This makes it possible to support ftruncate() on non-vnode file types in the future. - 'struct fileops' grows a 'fo_truncate' method to handle an ftruncate() on a given file descriptor. - ftruncate() moves to kern/sys_generic.c and now just fetches a file object and invokes fo_truncate(). - The vnode-specific portions of ftruncate() move to vn_truncate() in vfs_vnops.c which implements fo_truncate() for vnode file types. - Non-vnode file types return EINVAL in their fo_truncate() method. Submitted by: rwatson
Revision 1.139: download - view: text, markup, annotated - select for diffs
Sun Dec 30 01:42:13 2007 UTC (4 years, 1 month ago) by jeff
Branches: MAIN
Diff to: previous 1.138: preferred, colored
Changes since revision 1.138: +1 -4 lines
Remove explicit locking of struct file. - Introduce a finit() which is used to initailize the fields of struct file in such a way that the ops vector is only valid after the data, type, and flags are valid. - Protect f_flag and f_count with atomic operations. - Remove the global list of all files and associated accounting. - Rewrite the unp garbage collection such that it no longer requires the global list of all files and instead uses a list of all unp sockets. - Mark sockets in the accept queue so we don't incorrectly gc them. Tested by: kris, pho
Revision 1.113.2.20: download - view: text, markup, annotated - select for diffs
Wed Oct 3 21:06:05 2007 UTC (4 years, 4 months ago) by jhb
Branches: RELENG_6
CVS tags: RELENG_6_4_BP, RELENG_6_3_BP, RELENG_6_3_0_RELEASE, RELENG_6_3
Branch point for: RELENG_6_4
Diff to: previous 1.113.2.19: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.19: +1 -1 lines
MFC: Always use an exclusive lock on the leaf vnode during an open() when shared lookups are enabled. This closes a few races including a race where concurrent opens of a fifo could result in different v_fifoinfo structures in different threads.
Revision 1.138: download - view: text, markup, annotated - select for diffs
Thu Jul 26 16:58:09 2007 UTC (4 years, 6 months ago) by pjd
Branches: MAIN
CVS tags: RELENG_7_BP, RELENG_7_0_BP, RELENG_7_0_0_RELEASE, RELENG_7_0
Branch point for: RELENG_7
Diff to: previous 1.137: preferred, colored
Changes since revision 1.137: +1 -1 lines
When we do open, we should lock the vnode exclusively. This fixes few races: - fifo race, where two threads assign v_fifoinfo, - v_writecount modifications, - v_object modifications, - and probably more... Discussed with: kib, ups Approved by: re (rwatson)
Revision 1.137: download - view: text, markup, annotated - select for diffs
Thu May 31 11:51:50 2007 UTC (4 years, 8 months ago) by kib
Branches: MAIN
Diff to: previous 1.136: preferred, colored
Changes since revision 1.136: +3 -4 lines
Revert UF_OPENING workaround for CURRENT. Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation argument from being file descriptor index into the pointer to struct file. Proposed and reviewed by: jhb Reviewed by: daichi (unionfs) Approved by: re (kensmith)
Revision 1.136: download - view: text, markup, annotated - select for diffs
Wed Apr 4 09:11:32 2007 UTC (4 years, 10 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.135: preferred, colored
Changes since revision 1.135: +3 -1 lines
Replace custom file descriptor array sleep lock constructed using a mutex and flags with an sxlock. This leads to a significant and measurable performance improvement as a result of access to shared locking for frequent lookup operations, reduced general overhead, and reduced overhead in the event of contention. All of these are imported for threaded applications where simultaneous access to a shared file descriptor array occurs frequently. Kris has reported 2x-4x transaction rate improvements on 8-core MySQL benchmarks; smaller improvements can be expected for many workloads as a result of reduced overhead. - Generally eliminate the distinction between "fast" and regular acquisisition of the filedesc lock; the plan is that they will now all be fast. Change all locking instances to either shared or exclusive locks. - Correct a bug (pointed out by kib) in fdfree() where previously msleep() was called without the mutex held; sx_sleep() is now always called with the sxlock held exclusively. - Universally hold the struct file lock over changes to struct file, rather than the filedesc lock or no lock. Always update the f_ops field last. A further memory barrier is required here in the future (discussed with jhb). - Improve locking and reference management in linux_at(), which fails to properly acquire vnode references before using vnode pointers. Annotate improper use of vn_fullpath(), which will be replaced at a future date. In fcntl(), we conservatively acquire an exclusive lock, even though in some cases a shared lock may be sufficient, which should be revisited. The dropping of the filedesc lock in fdgrowtable() is no longer required as the sxlock can be held over the sleep operation; we should consider removing that (pointed out by attilio). Tested by: kris Discussed with: jhb, kris, attilio, jeff
Revision 1.135: download - view: text, markup, annotated - select for diffs
Fri Mar 2 00:10:11 2007 UTC (4 years, 11 months ago) by mpp
Branches: MAIN
Diff to: previous 1.134: preferred, colored
Changes since revision 1.134: +4 -0 lines
Change fifo_printinfo to check if the vnode v_fifoinfo pointer is NULL and print a message to that effect to prevent a panic.
Revision 1.113.2.19: download - view: text, markup, annotated - select for diffs
Tue Mar 28 12:42:20 2006 UTC (5 years, 10 months ago) by rwatson
Branches: RELENG_6
CVS tags: RELENG_6_2_BP, RELENG_6_2_0_RELEASE, RELENG_6_2, RELENG_6_1_BP, RELENG_6_1_0_RELEASE, RELENG_6_1
Diff to: previous 1.113.2.18: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.18: +1 -0 lines
Merge fifo_vnops.c:1.134 from HEAD to RELENG_6: Add a_fdidx to comment prototype for fifo_open(). Submitted by: Kostik Belousov <kostikbel at gmail dot com> Approved by: re (mux)
Revision 1.113.2.18: download - view: text, markup, annotated - select for diffs
Mon Mar 20 14:24:21 2006 UTC (5 years, 10 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.17: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.17: +2 -0 lines
Merge fifo_vnops.c:1.133 from HEAD to RELENG_6: If fifo_open() is called with a negative file descriptor, return EINVAL rather than panicking later. This can occur if the kernel calls vn_open() on a fifo, as there will be no associated file descriptor, and therefore the file descriptor operations cannot be modified to point to the fifo operation set. Reported by: Martin <nakal at nurfuerspam dot de> PR: 94278 Approved by: re (scottl)
Revision 1.134: download - view: text, markup, annotated - select for diffs
Wed Mar 15 10:15:35 2006 UTC (5 years, 10 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.133: preferred, colored
Changes since revision 1.133: +1 -0 lines
Add a_fdidx to comment prototype for fifo_open(). MFC after: 3 days Submitted by: Kostik Belousov <kostikbel at gmail dot com>
Revision 1.133: download - view: text, markup, annotated - select for diffs
Tue Mar 14 19:29:45 2006 UTC (5 years, 10 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.132: preferred, colored
Changes since revision 1.132: +2 -0 lines
If fifo_open() is called with a negative file descriptor, return EINVAL rather than panicking later. This can occur if the kernel calls vn_open() on a fifo, as there will be no associated file descriptor, and therefore the file descriptor operations cannot be modified to point to the fifo operation set. MFC after: 3 days Reported by: Martin <nakal at nurfuerspam dot de> PR: 94278
Revision 1.113.2.17: download - view: text, markup, annotated - select for diffs
Tue Oct 4 15:33:06 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
CVS tags: RELENG_6_0_BP, RELENG_6_0_0_RELEASE, RELENG_6_0
Diff to: previous 1.113.2.16: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.16: +4 -0 lines
Merge fifo_vnops.c:1.132 from HEAD to RELENG_6: Second attempt at a work-around for fifo-related socket panics during make -j with high levels of parallelism: acquire Giant in fifo I/O routines. Discussed with: ups Approved by: re (scottl)
Revision 1.113.2.16: download - view: text, markup, annotated - select for diffs
Sun Oct 2 10:07:21 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.15: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.15: +1 -0 lines
Merge fifo_vnops.c:1.130 from HEAD to RELENG_6: Assert v_fifoinfo is non-NULL in fifo_close() in order to catch non-conforming cases sooner. Reported by: Peter Holm <peter at holm dot cc> Approved by: re (scottl)
Revision 1.132: download - view: text, markup, annotated - select for diffs
Sat Oct 1 20:15:41 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.131: preferred, colored
Changes since revision 1.131: +4 -0 lines
Second attempt at a work-around for fifo-related socket panics during make -j with high levels of parallelism: acquire Giant in fifo I/O routines. Discussed with: ups MFC after: 3 days
Revision 1.101.2.10: download - view: text, markup, annotated - select for diffs
Wed Sep 28 06:56:14 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_5
CVS tags: RELENG_5_5_BP, RELENG_5_5_0_RELEASE, RELENG_5_5
Diff to: previous 1.101.2.9: preferred, colored; branchpoint 1.101: preferred, colored; next MAIN 1.102: preferred, colored
Changes since revision 1.101.2.9: +2 -2 lines
Merge fifo_vnops.c:1.129 from HEAD to RELENG_5: Lock the read socket receive buffer when frobbing the sb_state flag on that socket during open, not the write socket receive buffer. Spotted by: ups
Revision 1.113.2.15: download - view: text, markup, annotated - select for diffs
Wed Sep 28 06:55:02 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.14: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.14: +2 -2 lines
Merge fifo_vnops.c:1.129 from HEAD to RELENG_6: Lock the read socket receive buffer when frobbing the sb_state flag on that socket during open, not the write socket receive buffer. Spotted by: ups Approved by: re (scottl)
Revision 1.101.2.9: download - view: text, markup, annotated - select for diffs
Wed Sep 28 06:48:09 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_5
Diff to: previous 1.101.2.8: preferred, colored; branchpoint 1.101: preferred, colored
Changes since revision 1.101.2.8: +1 -0 lines
Merge fifo_vnops.c:1.128 from HEAD to RELENG_5: For reasons of consistency (and necessity), assert an exclusive vnode lock on the fifo vnode in fifo_open(): we rely on the vnode lock to serialize access to v_fifoinfo.
Revision 1.113.2.14: download - view: text, markup, annotated - select for diffs
Wed Sep 28 06:47:32 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.13: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.13: +1 -0 lines
Merge fifo_vnops.c:1.128 from HEAD to RELENG_6: For reasons of consistency (and necessity), assert an exclusive vnode lock on the fifo vnode in fifo_open(): we rely on the vnode lock to serialize access to v_fifoinfo. Approved by: re (scottl)
Revision 1.131: download - view: text, markup, annotated - select for diffs
Tue Sep 27 16:45:22 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +3 -16 lines
Back out fifo_vnops.c:1.127, which introduced an sx lock around I/O on a fifo. While this did indeed close the race, confirming suspicions about the nature of the problem, it causes difficulties with blocking I/O on fifos. Discussed with: ups Also spotted by: Peter Holm <peter at holm dot cc>
Revision 1.130: download - view: text, markup, annotated - select for diffs
Mon Sep 26 08:17:03 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +1 -0 lines
Assert v_fifoinfo is non-NULL in fifo_close() in order to catch non-conforming cases sooner. MFC after: 3 days Reported by: Peter Holm <peter at holm dot cc>
Revision 1.129: download - view: text, markup, annotated - select for diffs
Sun Sep 25 19:52:09 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +2 -2 lines
Lock the read socket receive buffer when frobbing the sb_state flag on that socket during open, not the write socket receive buffer. This might explain clearing of the sb_state SB_LOCK flag seen occasionally in soreceive() on fifos. MFC after: 3 days Spotted by: ups
Revision 1.128: download - view: text, markup, annotated - select for diffs
Fri Sep 23 12:39:51 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +1 -0 lines
For reasons of consistency (and necessity), assert an exclusive vnode lock on the fifo vnode in fifo_open(): we rely on the vnode lock to serialize access to v_fifoinfo. MFC after: 3 days
Revision 1.127: download - view: text, markup, annotated - select for diffs
Thu Sep 22 10:51:12 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +16 -3 lines
Add fi_sx, an sx lock to serialize I/O operations on the socket pair underlying the POSIX fifo implementation. In 6.x/7.x, fifo access is moved from the VFS layer, where it was serialized using the vnode lock, to the file descriptor layer, where access is protected by a reference count but not serialized. This exposed socket buffer locking to high levels of parallelism in specific fifo workloads, such as make -j 32, which expose as yet unresolved socket buffer bugs. fi_sx re-adds serialization about the read and write routines, although not paths that simply test socket buffer mbuf queue state, such as the poll and kqueue methods. This restores the extra locking cost previously present in some cases, but is an effective workaround for the instability that has been experienced. This workaround should be removed once the bug in socket buffer handling has been fixed. Reported by: kris, jhb, Julien Gabel <jpeg at thilelli dot net>, Peter Holm <peter at holm dot cc>, others MFC after: 3 days
Revision 1.101.2.8: download - view: text, markup, annotated - select for diffs
Wed Sep 21 15:35:08 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_5
Diff to: previous 1.101.2.7: preferred, colored; branchpoint 1.101: preferred, colored
Changes since revision 1.101.2.7: +1 -0 lines
Merge fifo_vnops.c:1.126 from HEAD to RELENG_5: Assert that (vp) is locked in fifo_close(), since we rely on the exclusive vnode lock to synchronize the reference counts on struct fifoinfo.
Revision 1.113.2.13: download - view: text, markup, annotated - select for diffs
Wed Sep 21 15:31:26 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.12: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.12: +1 -0 lines
Merge fifo_vnops.c:1.126 from HEAD to RELENG_6: Assert that (vp) is locked in fifo_close(), since we rely on the exclusive vnode lock to synchronize the reference counts on struct fifoinfo. Approved by: re (scottl)
Revision 1.101.2.7: download - view: text, markup, annotated - select for diffs
Tue Sep 20 13:58:59 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_5
Diff to: previous 1.101.2.6: preferred, colored; branchpoint 1.101: preferred, colored
Changes since revision 1.101.2.6: +4 -7 lines
Merge fifo_vnops.c:1.125 from HEAD to RELENG_5: The socket pointers in fifoinfo are not permitted to be NULL, so don't check if they are, it just confuses the fifo code more.
Revision 1.113.2.12: download - view: text, markup, annotated - select for diffs
Tue Sep 20 13:57:17 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.11: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.11: +2 -5 lines
Merge fifo_vnops.c:1.125 from HEAD to RELENG_6: The socket pointers in fifoinfo are not permitted to be NULL, so don't check if they are, it just confuses the fifo code more. Approved by: re (kensmith)
Revision 1.101.2.6: download - view: text, markup, annotated - select for diffs
Tue Sep 20 13:33:07 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_5
Diff to: previous 1.101.2.5: preferred, colored; branchpoint 1.101: preferred, colored
Changes since revision 1.101.2.5: +6 -18 lines
Merge fifo_vnops.c:1.123 from HEAD to RELENG_5: As a result of kqueue locking work, socket buffer locks will always be held when entering a kqueue filter for fifos via a socket buffer event: as such, assert the lock unconditionally rather than acquiring it conditionally.
Revision 1.126: download - view: text, markup, annotated - select for diffs
Sun Sep 18 10:44:50 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +1 -0 lines
Assert that (vp) is locked in fifo_close(), since we rely on the exclusive vnode lock to synchronize the reference counts on struct fifoinfo. MFC after: 3 days
Revision 1.113.2.11: download - view: text, markup, annotated - select for diffs
Fri Sep 16 14:03:57 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.10: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.10: +75 -65 lines
Merge fifo_vnops.c:1.124 from HEAD to RELENG_6: Trim down now (believed to be) unused fifo_ioctl() and fifo_kqfilter() VOP implementations, since they in theory are used only on open file descriptors, in which case the ioctls are via fifo_ioctl_f() and kqueue requests are via fifo_kqfilter_f(). Generate warnings if they are entered for now. These printf() calls should become panic() calls. Annotate and re-implement fifo_ioctl_f(): don't arbitrarily forward ioctls to the socket layer, only forward the ones we explicitly support for fifos. In the case of FIONREAD, don't forward the request to the write socket on a read-write fifo, or the read result is overwritten. Annotate a nasty case for the undefined POSIX O_RDWR on fifos, in which failure of the second ioctl will result in the socket pair being in an inconsistent state. Assert copyright as I find myself rewriting non-trivial parts of fifofs. Approved by: re (scottl)
Revision 1.113.2.10: download - view: text, markup, annotated - select for diffs
Fri Sep 16 14:03:10 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.9: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.9: +12 -0 lines
Merge fifo_vnops.c:1.122 from HEAD to RELENG_6:
Annotate two issues:
1) fifo_kqfilter() is not actually ever used, it likely should be GC'd.
2) fifo_kqfilter_f() doesn't implement EVFILT_VNODE, so detecting events
on the underlying vnode for a fifo no longer works (it did in 4.x).
Likely, fifo_kqfilter_f() should forward the request to the VFS using
fp->f_vnode, which would work once fifo_kqfilter() was detached from
the vnode operation vector (removing the fifo override).
Discussed with: phk
Approved by: re (scottl)
Revision 1.113.2.9: download - view: text, markup, annotated - select for diffs
Fri Sep 16 13:36:44 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.8: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.8: +6 -18 lines
Merge fifo_vnops.c:1.123 from HEAD to RELENG_6: As a result of kqueue locking work, socket buffer locks will always be held when entering a kqueue filter for fifos via a socket buffer event: as such, assert the lock unconditionally rather than acquiring it conditionally. Approved by: re (scottl)
Revision 1.101.2.5: download - view: text, markup, annotated - select for diffs
Fri Sep 16 09:06:16 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_5
Diff to: previous 1.101.2.4: preferred, colored; branchpoint 1.101: preferred, colored
Changes since revision 1.101.2.4: +1 -1 lines
Merge fifo_vnops.c:1.120 (in spirit) from HEAD to RELENG_5: When a request is made to register a filter on a fifo that doesn't apply to the fifo (i.e., not EVFILT_READ or EVFILT_WRITE), reject it as EINVAL, not by returning 1 (EPERM).
Revision 1.101.2.4: download - view: text, markup, annotated - select for diffs
Fri Sep 16 09:02:25 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_5
Diff to: previous 1.101.2.3: preferred, colored; branchpoint 1.101: preferred, colored
Changes since revision 1.101.2.3: +1 -1 lines
Merge fifo_vnops.c:1.116 from HEAD to RELENG_5: When a writer opens a fifo, wake up the read socket for read, not the write socket.
Revision 1.101.2.3: download - view: text, markup, annotated - select for diffs
Fri Sep 16 09:01:50 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_5
Diff to: previous 1.101.2.2: preferred, colored; branchpoint 1.101: preferred, colored
Changes since revision 1.101.2.2: +2 -0 lines
Merge fifo_vnops.c:1.115 from HEAD to RELENG_5: Add an assertion that fifo_open() doesn't race against other threads while sleeping to allocate fifo state: due to using the vnode lock to serialize access to a fifo during open, it shouldn't happen (tm).
Revision 1.101.2.2: download - view: text, markup, annotated - select for diffs
Fri Sep 16 09:00:58 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_5
Diff to: previous 1.101.2.1: preferred, colored; branchpoint 1.101: preferred, colored
Changes since revision 1.101.2.1: +1 -1 lines
Merge fifo_vnops.c:1.114 from HEAD to RELENG_5: Rather than reaching into the internals of the UNIX domain socket code by calling uipc_connect2() to connect two socket endpoints to create a fifo, call soconnect2().
Revision 1.113.2.8: download - view: text, markup, annotated - select for diffs
Thu Sep 15 20:53:56 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.7: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.7: +33 -1 lines
Merge fifo_vnops.c:1.121 from HEAD to RELENG_6: Introduce no-op nosup fifo kqueue filter and detach routine, which are used when a read filter is requested on a write-only fifo descriptor, or a write filter is requested on a read-only fifo descriptor. This permits the filters to be registered, but never raises the event, which causes kqueue behavior for fifos to more closely match similar semantics for poll and select, which permit testing for the condition even though the condition will never be raised, and is consistent with POSIX's notion that a fifo has identical semantics to a one-way IPC channel created using pipe() on most operating systems. The fifo regression test suite can now run to completion on HEAD without errors. Approved by: re (kensmith)
Revision 1.113.2.7: download - view: text, markup, annotated - select for diffs
Thu Sep 15 20:50:31 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.6: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.6: +2 -2 lines
Merge fifo_vnops.c:1.120 from HEAD to RELENG_6: When a request is made to register a filter on a fifo that doesn't apply to the fifo (i.e., not EVFILT_READ or EVFILT_WRITE), reject it as EINVAL, not by returning 1 (EPERM). Approved by: re (kensmith)
Revision 1.113.2.6: download - view: text, markup, annotated - select for diffs
Thu Sep 15 20:50:04 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.5: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.5: +1 -1 lines
Merge fifo_vnops.c:1.119 from HEAD to RELENG_6: Remove DFLAG_SEEKABLE from fifo file descriptors: fifos are not seekable according to POSIX, not to mention the fact that it doesn't make sense (and hence isn't really implemented). This causes the fifo_misc regression test to succeed. Approved by: re (scottl)
Revision 1.113.2.5: download - view: text, markup, annotated - select for diffs
Thu Sep 15 20:28:56 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.4: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.4: +2 -2 lines
Merge fifo_vnops.c:1.118 from HEAD to RELENG_6: Only poll the fifo for read events if the fifo is attached to a readable file descriptor. Otherwise, the read end of a fifo might return that it is writable (which it isn't). Only poll the fifo for write events if the fifo attached to a writable file descriptor. Otherwise, the write end of a fifo might return that it is readable (which it isn't). In the event that a file is FREAD|FWRITE (which is allowed by POSIX, but has undefined behavior), we poll for both. Approved by: re (kensmith)
Revision 1.113.2.4: download - view: text, markup, annotated - select for diffs
Thu Sep 15 20:28:27 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.3: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.3: +2 -2 lines
Merge fifo_vnops.c:1.117 from HEAD to RELENG_6: After going to some trouble to identify only the write-related events to poll the write socket for, the fifo polling code proceeded to poll for the complete set of events. Use 'levents' instead of 'events' as the argument to poll, and only poll the write socket if there is interest in write events. Approved by: re (kensmith)
Revision 1.113.2.3: download - view: text, markup, annotated - select for diffs
Thu Sep 15 20:27:56 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.2: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.2: +1 -1 lines
Merge fifo_vnops.c:1.116 from HEAD to RELENG_6: When a writer opens a fifo, wake up the read socket for read, not the write socket. Approved by: re (kensmith)
Revision 1.113.2.2: download - view: text, markup, annotated - select for diffs
Thu Sep 15 20:27:25 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113.2.1: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.1: +2 -0 lines
Merge fifo_vnops.c:1.115 from HEAD to RELENG_6: Add an assertion that fifo_open() doesn't race against other threads while sleeping to allocate fifo state: due to using the vnode lock to serialize access to a fifo during open, it shouldn't happen (tm). Approved by: re (kensmith)
Revision 1.113.2.1: download - view: text, markup, annotated - select for diffs
Thu Sep 15 20:26:19 2005 UTC (6 years, 4 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +1 -1 lines
Merge fifo_vnops.c:1.114 from HEAD to RELENG_6: Rather than reaching into the internals of the UNIX domain socket code by calling uipc_connect2() to connect two socket endpoints to create a fifo, call soconnect2(). Approved by: re (kensmith)
Revision 1.125: download - view: text, markup, annotated - select for diffs
Thu Sep 15 15:45:34 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +2 -5 lines
The socket pointers in fifoinfo are not permitted to be NULL, so don't check if they are, it just confuses the fifo code more. MFC after: 3 days
Revision 1.124: download - view: text, markup, annotated - select for diffs
Tue Sep 13 17:46:48 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +75 -65 lines
Trim down now (believed to be) unused fifo_ioctl() and fifo_kqfilter() VOP implementations, since they in theory are used only on open file descriptors, in which case the ioctls are via fifo_ioctl_f() and kqueue requests are via fifo_kqfilter_f(). Generate warnings if they are entered for now. These printf() calls should become panic() calls. Annotate and re-implement fifo_ioctl_f(): don't arbitrarily forward ioctls to the socket layer, only forward the ones we explicitly support for fifos. In the case of FIONREAD, don't forward the request to the write socket on a read-write fifo, or the read result is overwritten. Annotate a nasty case for the undefined POSIX O_RDWR on fifos, in which failure of the second ioctl will result in the socket pair being in an inconsistent state. Assert copyright as I find myself rewriting non-trivial parts of fifofs. MFC after: 3 days
Revision 1.123: download - view: text, markup, annotated - select for diffs
Tue Sep 13 10:39:24 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +6 -18 lines
As a result of kqueue locking work, socket buffer locks will always be held when entering a kqueue filter for fifos via a socket buffer event: as such, assert the lock unconditionally rather than acquiring it conditionall. MFC after: 3 days
Revision 1.122: download - view: text, markup, annotated - select for diffs
Tue Sep 13 09:23:22 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +12 -0 lines
Annotate two issues: 1) fifo_kqfilter() is not actually ever used, it likely should be GC'd. 2) fifo_kqfilter_f() doesn't implement EVFILT_VNODE, so detecting events on the underlying vnode for a fifo no longer works (it did in 4.x). Likely, fifo_kqfilter_f() should forward the request to the VFS using fp->f_vnode, which would work once fifo_kqfilter() was detached from the vnode operation vector (removing the fifo override). Discussed with: phk
Revision 1.121: download - view: text, markup, annotated - select for diffs
Mon Sep 12 19:59:12 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +33 -1 lines
Introduce no-op nosup fifo kqueue filter and detach routine, which are used when a read filter is requested on a write-only fifo descriptor, or a write filter is requested on a read-only fifo descriptor. This permits the filters to be registered, but never raises the event, which causes kqueue behavior for fifos to more closely match similar semantics for poll and select, which permit testing for the condition even though the condition will never be raised, and is consistent with POSIX's notion that a fifo has identical semantics to a one-way IPC channel created using pipe() on most operating systems. The fifo regression test suite can now run to completion on HEAD without errors. MFC after: 3 days
Revision 1.120: download - view: text, markup, annotated - select for diffs
Mon Sep 12 18:07:49 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +2 -2 lines
When a request is made to register a filter on a fifo that doesn't apply to the fifo (i.e., not EVFILT_READ or EVFILT_WRITE), reject it as EINVAL, not by returning 1 (EPERM). MFC after: 3 days
Revision 1.119: download - view: text, markup, annotated - select for diffs
Mon Sep 12 12:15:12 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +1 -1 lines
Remove DFLAG_SEEKABLE from fifo file descriptors: fifos are not seekable according to POSIX, not to mention the fact that it doesn't make sense (and hence isn't really implemented). This causes the fifo_misc regression test to succeed.
Revision 1.118: download - view: text, markup, annotated - select for diffs
Mon Sep 12 10:16:18 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +2 -2 lines
Only poll the fifo for read events if the fifo is attached to a readable file descriptor. Otherwise, the read end of a fifo might return that it is writable (which it isn't). Only poll the fifo for write events if the fifo attached to a writable file descriptor. Otherwise, the write end of a fifo might return that it is readable (which it isn't). In the event that a file is FREAD|FWRITE (which is allowed by POSIX, but has undefined behavior), we poll for both. MFC after: 3 days
Revision 1.117: download - view: text, markup, annotated - select for diffs
Mon Sep 12 10:13:15 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +2 -2 lines
After going to some trouble to identify only the write-related events to poll the write socket for, the fifo polling code proceeded to poll for the complete set of events. Use 'levents' instead of 'events' as the argument to poll, and only poll the write socket if there is interest in write events. MFC after: 3 days
Revision 1.116: download - view: text, markup, annotated - select for diffs
Mon Sep 12 10:07:21 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +1 -1 lines
When a writer opens a fifo, wake up the read socket for read, not the write socket. MFC after: 3 days
Revision 1.115: download - view: text, markup, annotated - select for diffs
Mon Sep 12 10:06:38 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +2 -0 lines
Add an assertion that fifo_open() doesn't race against other threads while sleeping to allocate fifo state: due to using the vnode lock to serialize access to a fifo during open, it shouldn't happen (tm). MFC after: 3 days
Revision 1.114: download - view: text, markup, annotated - select for diffs
Mon Sep 12 10:05:08 2005 UTC (6 years, 4 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +1 -1 lines
Rather than reaching into the internals of the UNIX domain socket code by calling uipc_connect2() to connect two socket endpoints to create a fifo, call soconnect2(). MFC after: 3 days
Revision 1.113: download - view: text, markup, annotated - select for diffs
Sun Mar 13 12:18:23 2005 UTC (6 years, 10 months ago) by jeff
Branches: MAIN
CVS tags: RELENG_6_BP
Branch point for: RELENG_6
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +0 -4 lines
- The VI_DOOMED flag now signals the end of a vnode's relationship with the filesystem. Check that rather than VI_XLOCK. - VOP_INACTIVE should no longer drop the vnode lock. - The vnode lock is required around calls to vrecycle() and vgone(). Sponsored by: Isilon Systems, Inc.
Revision 1.101.2.1: download - view: text, markup, annotated - select for diffs
Mon Jan 31 23:25:56 2005 UTC (7 years ago) by imp
Branches: RELENG_5
CVS tags: RELENG_5_4_BP, RELENG_5_4_0_RELEASE, RELENG_5_4
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +1 -1 lines
MFC: /*- and related license changes
Revision 1.112: download - view: text, markup, annotated - select for diffs
Thu Jan 13 18:59:47 2005 UTC (7 years ago) by phk
Branches: MAIN
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +1 -0 lines
Whitespace in vop_vector{} initializations.
Revision 1.111: download - view: text, markup, annotated - select for diffs
Thu Jan 6 18:10:38 2005 UTC (7 years, 1 month ago) by imp
Branches: MAIN
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +1 -1 lines
/* -> /*- for copyright notices, minor format tweaks as necessary
Revision 1.110: download - view: text, markup, annotated - select for diffs
Mon Dec 13 10:07:57 2004 UTC (7 years, 1 month ago) by phk
Branches: MAIN
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +6 -8 lines
Don't forget to bypass vnodes in corner cases. Found by: kkenn and ports/shell/zsh Thanks to: jeffr
Revision 1.109: download - view: text, markup, annotated - select for diffs
Mon Dec 13 07:07:50 2004 UTC (7 years, 1 month ago) by phk
Branches: MAIN
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +2 -0 lines
Explicitly panic vop_read/vop_write on fifos.
Revision 1.108: download - view: text, markup, annotated - select for diffs
Wed Dec 1 23:16:32 2004 UTC (7 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +25 -41 lines
Back when VOP_* was introduced, we did not have new-style struct initializations but we did have lofty goals and big ideals. Adjust to more contemporary circumstances and gain type checking. Replace the entire vop_t frobbing thing with properly typed structures. The only casualty is that we can not add a new VOP_ method with a loadable module. History has not given us reason to belive this would ever be feasible in the the first place. Eliminate in toto VOCALL(), vop_t, VNODEOP_SET() etc. Give coda correct prototypes and function definitions for all vop_()s. Generate a bit more data from the vnode_if.src file: a struct vop_vector and protype typedefs for all vop methods. Add a new vop_bypass() and make vop_default be a pointer to another struct vop_vector. Remove a lot of vfs_init since vop_vector is ready to use from the compiler. Cast various vop_mumble() to void * with uppercase name, for instance VOP_PANIC, VOP_NULL etc. Implement VCALL() by making vdesc_offset the offsetof() the relevant function pointer in vop_vector. This is disgusting but since the code is generated by a script comparatively safe. The alternative for nullfs etc. would be much worse. Fix up all vnode method vectors to remove casts so they become typesafe. (The bulk of this is generated by scripts)
Revision 1.107: download - view: text, markup, annotated - select for diffs
Wed Dec 1 12:24:39 2004 UTC (7 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +7 -7 lines
Mechanically change prototypes for vnode operations to use the new typedefs.
Revision 1.106: download - view: text, markup, annotated - select for diffs
Thu Nov 18 17:18:11 2004 UTC (7 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +20 -1 lines
Add dropped implementation of ioctl for fifos.
Revision 1.105: download - view: text, markup, annotated - select for diffs
Wed Nov 17 07:30:02 2004 UTC (7 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +6 -133 lines
Make vnode bypass for fifos (read, write, poll) mandatory.
Revision 1.104: download - view: text, markup, annotated - select for diffs
Mon Nov 15 14:51:44 2004 UTC (7 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +164 -1 lines
Add file ops to fifofs so that we can bypass vnodes (and Giant) for the heavy-duty operations (read, write, poll/select, kqueue). Disabled for now, enable with "vfs.fifofs.fops=1" in loader.conf.
Revision 1.103: download - view: text, markup, annotated - select for diffs
Sat Nov 13 18:51:13 2004 UTC (7 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +0 -19 lines
fifos doesn't need a vop_lookup, the default will do fine.
Revision 1.102: download - view: text, markup, annotated - select for diffs
Sat Nov 6 11:41:21 2004 UTC (7 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +0 -1 lines
Properly implement a default version of VOP_GETWRITEMOUNT. Remove improper access to vop_stdgetwritemount() which should and will instead rely on the VOP default path.
Revision 1.101: download - view: text, markup, annotated - select for diffs
Sun Aug 15 06:24:40 2004 UTC (7 years, 5 months ago) by jmg
Branches: MAIN
CVS tags: RELENG_5_BP, RELENG_5_3_BP, RELENG_5_3_0_RELEASE, RELENG_5_3
Branch point for: RELENG_5
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +5 -5 lines
Add locking to the kqueue subsystem. This also makes the kqueue subsystem a more complete subsystem, and removes the knowlege of how things are implemented from the drivers. Include locking around filter ops, so a module like aio will know when not to be unloaded if there are outstanding knotes using it's filter ops. Currently, it uses the MTX_DUPOK even though it is not always safe to aquire duplicate locks. Witness currently doesn't support the ability to discover if a dup lock is ok (in some cases). Reviewed by: green, rwatson (both earlier versions)
Revision 1.100: download - view: text, markup, annotated - select for diffs
Wed Jun 23 00:35:50 2004 UTC (7 years, 7 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +0 -1 lines
Remove unlocked read annotation for sbspace(); the read is locked.
Revision 1.99: download - view: text, markup, annotated - select for diffs
Fri Jun 18 02:57:54 2004 UTC (7 years, 7 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +27 -6 lines
Merge some additional leaf node socket buffer locking from rwatson_netperf: Introduce conditional locking of the socket buffer in fifofs kqueue filters; KNOTE() will be called holding the socket buffer locks in fifofs, but sometimes the kqueue() system call will poll using the same entry point without holding the socket buffer lock. Introduce conditional locking of the socket buffer in the socket kqueue filters; KNOTE() will be called holding the socket buffer locks in the socket code, but sometimes the kqueue() system call will poll using the same entry points without holding the socket buffer lock. Simplify the logic in sodisconnect() since we no longer need spls. NOTE: To remove conditional locking in the kqueue filters, it would make sense to use a separate kqueue API entry into the socket/fifo code when calling from the kqueue() system call.
Revision 1.98: download - view: text, markup, annotated - select for diffs
Thu Jun 17 22:48:09 2004 UTC (7 years, 7 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +2 -0 lines
Merge additional socket buffer locking from rwatson_netperf: - Lock down low hanging fruit use of sb_flags with socket buffer lock. - Lock down low hanging fruit use of so_state with socket lock. - Lock down low hanging fruit use of so_options. - Lock down low-hanging fruit use of sb_lowwat and sb_hiwat with socket buffer lock. - Annotate situations in which we unlock the socket lock and then grab the receive socket buffer lock, which are currently actually the same lock. Depending on how we want to play our cards, we may want to coallesce these lock uses to reduce overhead. - Convert a if()->panic() into a KASSERT relating to so_state in soaccept(). - Remove a number of splnet()/splx() references. More complex merging of socket and socket buffer locking to follow.
Revision 1.97: download - view: text, markup, annotated - select for diffs
Tue Jun 15 03:51:43 2004 UTC (7 years, 7 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +6 -0 lines
Grab the socket buffer send or receive mutex when performing a read-modify-write on the sb_state field. This commit catches only the "easy" ones where it doesn't interact with as yet unmerged locking.
Revision 1.96: download - view: text, markup, annotated - select for diffs
Mon Jun 14 18:16:20 2004 UTC (7 years, 7 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +5 -5 lines
The socket field so_state is used to hold a variety of socket related flags relating to several aspects of socket functionality. This change breaks out several bits relating to send and receive operation into a new per-socket buffer field, sb_state, in order to facilitate locking. This is required because, in order to provide more granular locking of sockets, different state fields have different locking properties. The following fields are moved to sb_state: SS_CANTRCVMORE (so_state) SS_CANTSENDMORE (so_state) SS_RCVATMARK (so_state) Rename respectively to: SBS_CANTRCVMORE (so_rcv.sb_state) SBS_CANTSENDMORE (so_snd.sb_state) SBS_RCVATMARK (so_rcv.sb_state) This facilitates locking by isolating fields to be located with other identically locked fields, and permits greater granularity in socket locking by avoiding storing fields with different locking semantics in the same short (avoiding locking conflicts). In the future, we may wish to coallesce sb_state and sb_flags; for the time being I leave them separate and there is no additional memory overhead due to the packing/alignment of shorts in the socket buffer structure.
Revision 1.95: download - view: text, markup, annotated - select for diffs
Tue Jun 1 01:18:50 2004 UTC (7 years, 8 months ago) by truckman
Branches: MAIN
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +6 -12 lines
Add MSG_NBIO flag option to soreceive() and sosend() that causes them to behave the same as if the SS_NBIO socket flag had been set for this call. The SS_NBIO flag for ordinary sockets is set by fcntl(fd, F_SETFL, O_NONBLOCK). Pass the MSG_NBIO flag to the soreceive() and sosend() calls in fifo_read() and fifo_write() instead of frobbing the SS_NBIO flag on the underlying socket for each I/O operation. The O_NONBLOCK flag is a property of the descriptor, and unlike ordinary sockets, fifos may be referenced by multiple descriptors.
Revision 1.94: download - view: text, markup, annotated - select for diffs
Mon May 17 20:16:40 2004 UTC (7 years, 8 months ago) by truckman
Branches: MAIN
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +23 -24 lines
Switch from using the vnode interlock to a private mutex in fifo_open() to avoid lock order problems when manipulating the sockets associated with the fifo. Minor optimization of a couple of calls to fifo_cleanup() from fifo_open().
Revision 1.93: download - view: text, markup, annotated - select for diffs
Wed Apr 7 20:45:59 2004 UTC (7 years, 10 months ago) by imp
Branches: MAIN
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +0 -4 lines
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson. Approved by: core, peter, alc, rwatson
Revision 1.92: download - view: text, markup, annotated - select for diffs
Wed Mar 31 01:41:29 2004 UTC (7 years, 10 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +1 -1 lines
Export uipc_connect2() from uipc_usrreq.c instead of unp_connect2(), and consume that interface in portalfs and fifofs instead. In the new world order, unp_connect2() assumes that the unpcb mutex is held, whereas uipc_connect2() validates that the passed sockets are UNIX domain sockets, then grabs the mutex. NB: the portalfs and fifofs code gets down and dirty with UNIX domain sockets. Maybe this is a bad thing.
Revision 1.91: download - view: text, markup, annotated - select for diffs
Sun Nov 16 01:11:11 2003 UTC (8 years, 2 months ago) by truckman
Branches: MAIN
CVS tags: RELENG_5_2_BP, RELENG_5_2_1_RELEASE, RELENG_5_2_0_RELEASE, RELENG_5_2
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +3 -6 lines
Use "fip->fi_readers == 0 && fip->fi_writers == 0" as the condition for disposing fifo resources in fifo_cleanup() instead using of "vp->v_usecount == 1". There may be other references to the vnode, for instance by nullfs, at the time fifo_open() or fifo_close() is called, which could cause a resource leak. Don't bother grabbing the vnode interlock in fifo_cleanup() since it no longer accesses v_usecount.
Revision 1.90: download - view: text, markup, annotated - select for diffs
Mon Nov 10 22:21:00 2003 UTC (8 years, 3 months ago) by truckman
Branches: MAIN
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +23 -9 lines
If fifo_open() is interrupted, fifo_close() may not get called, causing a resource leak. Move the resource deallocation code from fifo_close() to a new function, fifo_cleanup(), and call fifo_cleanup() from fifo_close() and the appropriate places in fifo_open(). Tested by: Lukas Ertl Pointy hat to: truckman
Revision 1.89: download - view: text, markup, annotated - select for diffs
Mon Jun 16 17:17:09 2003 UTC (8 years, 7 months ago) by truckman
Branches: MAIN
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +4 -20 lines
Partially back out rev 1.87 by nuking fifo_inactive() and moving the resource deallocation back to fifo_close(). This eliminates any stale data that might be stuck in the socket buffers after all the readers and writers have closed the fifo. Tested by: Thorsten Schroeder <ths@katjusha.de>
Revision 1.88: download - view: text, markup, annotated - select for diffs
Fri Jun 13 06:58:11 2003 UTC (8 years, 8 months ago) by truckman
Branches: MAIN
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +30 -45 lines
Clean up the fifo_open() implementation:
Restructure the error handling portion of the resource allocation
code to eliminate duplicated code.
Test for the O_NONBLOCK && fi_readers == 0 case before incrementing
fi_writers and modifying the the socket flag to avoid having to
undo these operations in this error case.
Restructure and simplify the code that handles blocking opens.
There should be no change to functionality.
Revision 1.87: download - view: text, markup, annotated - select for diffs
Sun Jun 1 06:24:32 2003 UTC (8 years, 8 months ago) by truckman
Branches: MAIN
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +73 -25 lines
Fix up locking problems in fifo_open() and fifo_close(): Sleep on the vnode interlock while waiting for another caller to increment fi_readers or fi_writers. Hold the vnode interlock while incrementing fi_readers or fi_writers to prevent a wakeup from being missed. Only access fi_readers and fi_writers while holding the vnode lock. Previously fifo_close() decremented their values without holding a lock. Move resource deallocation from fifo_close() to fifo_inactive(), which allows the VOP_CLOSE() call in the error return path in fifo_open() to be removed. Fifo_open() was calling VOP_CLOSE() with the vnode lock held, in violation the current vnode locking API. Also the way fifo_close() used vrefcnt() to decide whether to deallocate resources was bogus according to comments in the vrefcnt() implementation. Reviewed by: bde
Revision 1.86: download - view: text, markup, annotated - select for diffs
Sat May 31 18:45:32 2003 UTC (8 years, 8 months ago) by phk
Branches: MAIN
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +1 -2 lines
Remove unused variable. Found by: FlexeLint
Revision 1.85: download - view: text, markup, annotated - select for diffs
Mon Mar 24 11:03:42 2003 UTC (8 years, 10 months ago) by bde
Branches: MAIN
CVS tags: RELENG_5_1_BP, RELENG_5_1_0_RELEASE, RELENG_5_1
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +13 -8 lines
Better fix for the problem addressed by rev.1.79: don't loop in fifo_open() waiting for another reader or writer if one arrived and departed while we were waiting (or a little earlier). Rev.1.79 broke blocking opens of fifos by making them time out after 1 second. This was bad for at least apsfilter. Tested by: "Simon 'corecode' Schubert" <corecode@corecode.ath.cx>, Alexander Leidinger <Alexander@leidinger.net>, phk MFC after: 4 weeks
Revision 1.84: download - view: text, markup, annotated - select for diffs
Sun Mar 2 16:54:35 2003 UTC (8 years, 11 months ago) by des
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +4 -4 lines
More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).
Revision 1.83: download - view: text, markup, annotated - select for diffs
Wed Feb 19 05:47:17 2003 UTC (8 years, 11 months ago) by imp
Branches: MAIN
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +1 -1 lines
Back out M_* changes, per decision of the TRB. Approved by: trb
Revision 1.82: download - view: text, markup, annotated - select for diffs
Tue Jan 21 08:55:46 2003 UTC (9 years ago) by alfred
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +1 -1 lines
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
Revision 1.81: download - view: text, markup, annotated - select for diffs
Mon Jan 13 00:28:57 2003 UTC (9 years ago) by dillon
Branches: MAIN
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +7 -6 lines
Bow to the whining masses and change a union back into void *. Retain removal of unnecessary casts and throw in some minor cleanups to see if anyone complains, just for the hell of it.
Revision 1.80: download - view: text, markup, annotated - select for diffs
Sun Jan 12 01:37:12 2003 UTC (9 years, 1 month ago) by dillon
Branches: MAIN
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +6 -6 lines
Change struct file f_data to un_data, a union of the correct struct pointer types, and remove a huge number of casts from code using it. Change struct xfile xf_data to xun_data (ABI is still compatible). If we need to add a #define for f_data and xf_data we can, but I don't think it will be necessary. There are no operational changes in this commit.
Revision 1.78.2.1: download - view: text, markup, annotated - select for diffs
Thu Jan 2 19:51:07 2003 UTC (9 years, 1 month ago) by phk
Branches: RELENG_5_0
CVS tags: RELENG_5_0_0_RELEASE
Diff to: previous 1.78: preferred, colored; next MAIN 1.79: preferred, colored
Changes since revision 1.78: +6 -1 lines
MFC: Put a one-second timeout (And a XXX: comment) on a tsleep which under certain not understood circumstances hangs sendmail during boot. Approved by: re@
Revision 1.79: download - view: text, markup, annotated - select for diffs
Sun Dec 29 10:32:16 2002 UTC (9 years, 1 month ago) by phk
Branches: MAIN
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +6 -1 lines
There is some sort of race/deadlock which I have not identified here. It manifests itself by sendmail hanging in "fifoow" during boot on a diskless machine with sendmail disabled. Giving the sleep a 1sec timout breaks the deadlock, but does not solve the underlying problem. XXX comment applied.
Revision 1.78: download - view: text, markup, annotated - select for diffs
Wed Oct 16 08:04:11 2002 UTC (9 years, 3 months ago) by phk
Branches: MAIN
CVS tags: RELENG_5_0_BP
Branch point for: RELENG_5_0
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +1 -1 lines
Fix comments and one resulting code confusion about the type of the "command" argument to VOP_IOCTL. Spotted by: FlexeLint.
Revision 1.77: download - view: text, markup, annotated - select for diffs
Sat Sep 28 17:14:42 2002 UTC (9 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +1 -1 lines
Be consistent about "static" functions: if the function is marked static in its prototype, mark it static at the definition too. Inspired by: FlexeLint warning #512
Revision 1.76: download - view: text, markup, annotated - select for diffs
Wed Sep 25 02:32:36 2002 UTC (9 years, 4 months ago) by jeff
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +1 -1 lines
- Use vrefcnt() where it is safe to do so instead of doing direct and unlocked accesses to v_usecount. - Lock access to the buf lists in the various sync routines. interlock locking could be avoided almost entirely in leaf filesystems if the fsync function had a generic helper.
Revision 1.75: download - view: text, markup, annotated - select for diffs
Wed Sep 18 20:42:02 2002 UTC (9 years, 4 months ago) by njl
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +0 -2 lines
Remove any VOP_PRINT that redundantly prints the tag. Move lockmgr_printinfo() into vprint() for everyone's benefit. Suggested by: bde
Revision 1.74: download - view: text, markup, annotated - select for diffs
Sat Sep 14 09:02:21 2002 UTC (9 years, 4 months ago) by njl
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +1 -1 lines
Remove all use of vnode->v_tag, replacing with appropriate substitutes. v_tag is now const char * and should only be used for debugging. Additionally: 1. All users of VT_NTS now check vfsconf->vf_type VFCF_NETWORK 2. The user of VT_PROCFS now checks for the new flag VV_PROCDEP, which is propagated by pseudofs to all child vnodes if the fs sets PFS_PROCDEP. Suggested by: phk Reviewed by: bde, rwatson (earlier version)
Revision 1.73: download - view: text, markup, annotated - select for diffs
Tue Aug 20 02:17:59 2002 UTC (9 years, 5 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +3 -2 lines
Handle one more case of a fifofs filetmp: set filetmp.f_cred to ap->a_cred, and pass in ap->a_td->td_ucred as the active_cred to soo_poll(). Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
Revision 1.72: download - view: text, markup, annotated - select for diffs
Sat Aug 17 02:36:15 2002 UTC (9 years, 5 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +6 -2 lines
In continuation of early fileop credential changes, modify fo_ioctl() to accept an 'active_cred' argument reflecting the credential of the thread initiating the ioctl operation. - Change fo_ioctl() to accept active_cred; change consumers of the fo_ioctl() interface to generally pass active_cred from td->td_ucred. - In fifofs, initialize filetmp.f_cred to ap->a_cred so that the invocations of soo_ioctl() are provided access to the calling f_cred. Pass ap->a_td->td_ucred as the active_cred, but note that this is required because we don't yet distinguish file_cred and active_cred in invoking VOP's. - Update kqueue_ioctl() for its new argument. - Update pipe_ioctl() for its new argument, pass active_cred rather than td_ucred to MAC for authorization. - Update soo_ioctl() for its new argument. - Update vn_ioctl() for its new argument, use active_cred rather than td->td_ucred to authorize VOP_IOCTL() and the associated VOP_GETATTR(). Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
Revision 1.71: download - view: text, markup, annotated - select for diffs
Fri Aug 16 12:51:55 2002 UTC (9 years, 5 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +3 -2 lines
Make similar changes to fo_stat() and fo_poll() as made earlier to fo_read() and fo_write(): explicitly use the cred argument to fo_poll() as "active_cred" using the passed file descriptor's f_cred reference to provide access to the file credential. Add an active_cred argument to fo_stat() so that implementers have access to the active credential as well as the file credential. Generally modify callers of fo_stat() to pass in td->td_ucred rather than fp->f_cred, which was redundantly provided via the fp argument. This set of modifications also permits threads to perform these operations on behalf of another thread without modifying their credential. Trickle this change down into fo_stat/poll() implementations: - badfo_poll(), badfo_stat(): modify/add arguments. - kqueue_poll(), kqueue_stat(): modify arguments. - pipe_poll(), pipe_stat(): modify/add arguments, pass active_cred to MAC checks rather than td->td_ucred. - soo_poll(), soo_stat(): modify/add arguments, pass fp->f_cred rather than cred to pru_sopoll() to maintain current semantics. - sopoll(): moidfy arguments. - vn_poll(), vn_statfile(): modify/add arguments, pass new arguments to vn_stat(). Pass active_cred to MAC and fp->f_cred to VOP_POLL() to maintian current semantics. - vn_close(): rename cred to file_cred to reflect reality while I'm here. - vn_stat(): Add active_cred and file_cred arguments to vn_stat() and consumers so that this distinction is maintained at the VFS as well as 'struct file' layer. Pass active_cred instead of td->td_ucred to MAC and to VOP_GETATTR() to maintain current semantics. - fifofs: modify the creation of a "filetemp" so that the file credential is properly initialized and can be used in the socket code if desired. Pass ap->a_td->td_ucred as the active credential to soo_poll(). If we teach the vnop interface about the distinction between file and active credentials, we would use the active credential here. Note that current inconsistent passing of active_cred vs. file_cred to VOP's is maintained. It's not clear why GETATTR would be authorized using active_cred while POLL would be authorized using file_cred at the file system level. Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
Revision 1.70: download - view: text, markup, annotated - select for diffs
Fri May 31 11:52:29 2002 UTC (9 years, 8 months ago) by tanimura
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +4 -30 lines
Back out my lats commit of locking down a socket, it conflicts with hsu's work. Requested by: hsu
Revision 1.69: download - view: text, markup, annotated - select for diffs
Tue May 21 02:37:56 2002 UTC (9 years, 8 months ago) by tanimura
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +3 -1 lines
Lock the writer socket across sorwakeup(fip->fi_writesock). Spotted by: peter
Revision 1.68: download - view: text, markup, annotated - select for diffs
Mon May 20 05:41:03 2002 UTC (9 years, 8 months ago) by tanimura
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +28 -4 lines
Lock down a socket, milestone 1. o Add a mutex (sb_mtx) to struct sockbuf. This protects the data in a socket buffer. The mutex in the receive buffer also protects the data in struct socket. o Determine the lock strategy for each members in struct socket. o Lock down the following members: - so_count - so_options - so_linger - so_state o Remove *_locked() socket APIs. Make the following socket APIs touching the members above now require a locked socket: - sodisconnect() - soisconnected() - soisconnecting() - soisdisconnected() - soisdisconnecting() - sofree() - soref() - sorele() - sorwakeup() - sotryfree() - sowakeup() - sowwakeup() Reviewed by: alfred
Revision 1.67: download - view: text, markup, annotated - select for diffs
Thu May 2 19:13:19 2002 UTC (9 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +11 -23 lines
Use vop_panic() instead of rolling our own.
Revision 1.66: download - view: text, markup, annotated - select for diffs
Tue Apr 30 01:54:51 2002 UTC (9 years, 9 months ago) by tanimura
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +10 -8 lines
Revert the change of #includes in sys/filedesc.h and sys/socketvar.h. Requested by: bde Since locking sigio_lock is usually followed by calling pgsigio(), move the declaration of sigio_lock and the definitions of SIGIO_*() to sys/signalvar.h. While I am here, sort include files alphabetically, where possible.
Revision 1.65: download - view: text, markup, annotated - select for diffs
Thu Apr 18 14:47:34 2002 UTC (9 years, 9 months ago) by alfred
Branches: MAIN
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +18 -20 lines
Cleanup of logic, flow and comments. Submitted by: bde
Revision 1.64: download - view: text, markup, annotated - select for diffs
Tue Mar 19 22:19:59 2002 UTC (9 years, 10 months ago) by alfred
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +12 -12 lines
Remove __P.
Revision 1.63: download - view: text, markup, annotated - select for diffs
Wed Feb 27 18:31:49 2002 UTC (9 years, 11 months ago) by jhb
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +2 -2 lines
Simple p_ucred -> td_ucred changes to start using the per-thread ucred reference.
Revision 1.62: download - view: text, markup, annotated - select for diffs
Mon Jan 14 22:03:48 2002 UTC (10 years ago) by alfred
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +28 -10 lines
Fix select on fifos. Backout revision 1.56 and 1.57 of fifo_vnops.c. Introduce a new poll op "POLLINIGNEOF" that can be used to ignore EOF on a fifo, POLLIN/POLLRDNORM is converted to POLLINIGNEOF within the FIFO implementation to effect the correct behavior. This should allow one to view a fifo pretty much as a data source rather than worry about connections coming and going. Reviewed by: bde
Revision 1.61: download - view: text, markup, annotated - select for diffs
Mon Jan 14 02:18:59 2002 UTC (10 years ago) by alfred
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +0 -6 lines
don't initialize the mutex in the temporary struct file, the soo_* functions just grab f_data and don't muck with anything else so this should be ok. this fixes a panic with invariants where it thinks we've doubly initialized the filetmp mutex even though all we've done is neglect to bzero it.
Revision 1.60: download - view: text, markup, annotated - select for diffs
Sun Jan 13 21:37:47 2002 UTC (10 years ago) by alfred
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +1 -0 lines
Include sys/_lock.h and sys/_mutex.h to reduce namespace pollution. Requested by: jhb
Revision 1.59: download - view: text, markup, annotated - select for diffs
Sun Jan 13 11:57:55 2002 UTC (10 years ago) by alfred
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +13 -4 lines
SMP Lock struct file, filedesc and the global file list.
Seigo Tanimura (tanimura) posted the initial delta.
I've polished it quite a bit reducing the need for locking and
adapting it for KSE.
Locks:
1 mutex in each filedesc
protects all the fields.
protects "struct file" initialization, while a struct file
is being changed from &badfileops -> &pipeops or something
the filedesc should be locked.
1 mutex in each struct file
protects the refcount fields.
doesn't protect anything else.
the flags used for garbage collection have been moved to
f_gcflag which was the FILLER short, this doesn't need
locking because the garbage collection is a single threaded
container.
could likely be made to use a pool mutex.
1 sx lock for the global filelist.
struct file * fhold(struct file *fp);
/* increments reference count on a file */
struct file * fhold_locked(struct file *fp);
/* like fhold but expects file to locked */
struct file * ffind_hold(struct thread *, int fd);
/* finds the struct file in thread, adds one reference and
returns it unlocked */
struct file * ffind_lock(struct thread *, int fd);
/* ffind_hold, but returns file locked */
I still have to smp-safe the fget cruft, I'll get to that asap.
Revision 1.58: download - view: text, markup, annotated - select for diffs
Mon Dec 31 17:45:14 2001 UTC (10 years, 1 month ago) by rwatson
Branches: MAIN
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +4 -2 lines
o Make the credential used by socreate() an explicit argument to socreate(), rather than getting it implicitly from the thread argument. o Make NFS cache the credential provided at mount-time, and use the cached credential (nfsmount->nm_cred) when making calls to socreate() on initially connecting, or reconnecting the socket. This fixes bugs involving NFS over TCP and ipfw uid/gid rules, as well as bugs involving NFS and mandatory access control implementations. Reviewed by: freebsd-arch
Revision 1.57: download - view: text, markup, annotated - select for diffs
Wed Dec 12 09:35:33 2001 UTC (10 years, 2 months ago) by alfred
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +0 -1 lines
Fix select on named pipes without a reader. PR: kern/19871 MFC after: 1 month
Revision 1.56: download - view: text, markup, annotated - select for diffs
Thu Nov 8 10:28:32 2001 UTC (10 years, 3 months ago) by alfred
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +6 -1 lines
Switch behavior of fifos to more closely match what goes on in other OSes. Basically FIFOs become a real pain to abuse as a rendevous point without this change because you can't really select(2) on them because they always return ready even though there is no writer (to signal EOF). Obtained from: BSD/os
Revision 1.55: download - view: text, markup, annotated - select for diffs
Wed Sep 12 08:37:17 2001 UTC (10 years, 5 months ago) by julian
Branches: MAIN
CVS tags: KSE_MILESTONE_2
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +25 -24 lines
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
Revision 1.54: download - view: text, markup, annotated - select for diffs
Wed Jun 6 17:38:36 2001 UTC (10 years, 8 months ago) by jlemon
Branches: MAIN
CVS tags: KSE_PRE_MILESTONE_2
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +12 -5 lines
The kq write filter was hooked up to the wrong socket, and thus was
not behaving correctly. Fix by attaching to the correct socket.
Also call so{rw}wakeup in addition to the fifo wakeup, so that any
kqfilters attached to the socket buffer get poked.
Revision 1.53: download - view: text, markup, annotated - select for diffs
Wed May 23 09:42:09 2001 UTC (10 years, 8 months ago) by ru
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +2 -2 lines
- FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file
systems were repo-copied from sys/miscfs to sys/fs.
- Renamed the following file systems and their modules:
fdesc -> fdescfs, portal -> portalfs, union -> unionfs.
- Renamed corresponding kernel options:
FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS.
- Install header files for the above file systems.
- Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland
Makefiles.
Revision 1.52: download - view: text, markup, annotated - select for diffs
Sun Apr 29 11:48:36 2001 UTC (10 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +1 -29 lines
Add a vop_stdbmap(), and make it part of the default vop vector. Make 7 filesystems which don't really know about VOP_BMAP rely on the default vector, rather than more or less complete local vop_nopbmap() implementations.
Revision 1.45.2.2: download - view: text, markup, annotated - select for diffs
Mon Feb 26 04:23:20 2001 UTC (10 years, 11 months ago) by jlemon
Branches: old_RELENG_4
CVS tags: old_RELENG_4_3_BP, old_RELENG_4_3_0_RELEASE, old_RELENG_4_3
Diff to: previous 1.45.2.1: preferred, colored; branchpoint 1.45: preferred, colored; next MAIN 1.46: preferred, colored
Changes since revision 1.45.2.1: +38 -32 lines
MFC: sync kq up to current (extend to device layer, plus other fixes)
Revision 1.51: download - view: text, markup, annotated - select for diffs
Thu Feb 15 16:34:09 2001 UTC (10 years, 11 months ago) by jlemon
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +37 -31 lines
Extend kqueue down to the device layer. Backwards compatible approach suggested by: peter
Revision 1.50: download - view: text, markup, annotated - select for diffs
Fri Aug 18 10:00:59 2000 UTC (11 years, 5 months ago) by phk
Branches: MAIN
CVS tags: old_PRE_SMPNG
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +2 -16 lines
Introduce vop_stdinactive() and make it the default if no vop_inactive is declared. Sort and prune a few vop_op[].
Revision 1.49: download - view: text, markup, annotated - select for diffs
Tue Jul 11 22:07:45 2000 UTC (11 years, 7 months ago) by mckusick
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +2 -1 lines
Add snapshots to the fast filesystem. Most of the changes support the gating of system calls that cause modifications to the underlying filesystem. The gating can be enabled by any filesystem that needs to consistently suspend operations by adding the vop_stdgetwritemount to their set of vnops. Once gating is enabled, the function vfs_write_suspend stops all new write operations to a filesystem, allows any filesystem modifying system calls already in progress to complete, then sync's the filesystem to disk and returns. The function vfs_write_resume allows the suspended write operations to begin again. Gating is not added by default for all filesystems as for SMP systems it adds two extra locks to such critical kernel paths as the write system call. Thus, gating should only be added as needed. Details on the use and current status of snapshots in FFS can be found in /sys/ufs/ffs/README.snapshot so for brevity and timelyness is not included here. Unless and until you create a snapshot file, these changes should have no effect on your system (famous last words).
Revision 1.48: download - view: text, markup, annotated - select for diffs
Fri May 26 02:04:56 2000 UTC (11 years, 8 months ago) by jake
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +3 -3 lines
Back out the previous change to the queue(3) interface. It was not discussed and should probably not happen. Requested by: msmith and others
Revision 1.47: download - view: text, markup, annotated - select for diffs
Tue May 23 20:37:35 2000 UTC (11 years, 8 months ago) by jake
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +3 -3 lines
Change the way that the queue(3) structures are declared; don't assume that the type argument to *_HEAD and *_ENTRY is a struct. Suggested by: phk Reviewed by: phk Approved by: mdodd
Revision 1.45.2.1: download - view: text, markup, annotated - select for diffs
Fri May 5 03:50:08 2000 UTC (11 years, 9 months ago) by jlemon
Branches: old_RELENG_4
CVS tags: old_RELENG_4_2_0_RELEASE, old_RELENG_4_1_1_RELEASE, old_RELENG_4_1_0_RELEASE
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +87 -1 lines
MFC: kqueue() and kevent()
Revision 1.46: download - view: text, markup, annotated - select for diffs
Sun Apr 16 18:53:38 2000 UTC (11 years, 9 months ago) by jlemon
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +87 -1 lines
Introduce kqueue() and kevent(), a kernel event notification facility.
Revision 1.45: download - view: text, markup, annotated - select for diffs
Wed Dec 15 23:02:04 1999 UTC (12 years, 1 month ago) by eivind
Branches: MAIN
CVS tags: old_RELENG_4_BP, old_RELENG_4_0_0_RELEASE
Branch point for: old_RELENG_4
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +1 -2 lines
Introduce NDFREE (and remove VOP_ABORTOP)
Revision 1.9.4.2: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:33:19 1999 UTC (12 years, 5 months ago) by peter
Branches: old_RELENG_2_1_0
Diff to: previous 1.9.4.1: preferred, colored; branchpoint 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9.4.1: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.17.2.1: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:16:35 1999 UTC (12 years, 5 months ago) by peter
Branches: old_RELENG_2_2
Diff to: previous 1.17: preferred, colored; next MAIN 1.18: preferred, colored
Changes since revision 1.17: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.43.2.1: download - view: text, markup, annotated - select for diffs
Sun Aug 29 16:26:43 1999 UTC (12 years, 5 months ago) by peter
Branches: old_RELENG_3
CVS tags: old_RELENG_3_5_0_RELEASE, old_RELENG_3_4_0_RELEASE, old_RELENG_3_3_0_RELEASE
Diff to: previous 1.43: preferred, colored; next MAIN 1.44: preferred, colored
Changes since revision 1.43: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.44: download - view: text, markup, annotated - select for diffs
Sat Aug 28 00:46:47 1999 UTC (12 years, 5 months ago) by peter
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.43: download - view: text, markup, annotated - select for diffs
Fri Feb 6 12:13:36 1998 UTC (14 years ago) by eivind
Branches: MAIN
CVS tags: old_RELENG_3_BP, old_RELENG_3_2_PAO_BP, old_RELENG_3_2_PAO, old_RELENG_3_2_0_RELEASE, old_RELENG_3_1_0_RELEASE, old_RELENG_3_0_0_RELEASE, old_PRE_VFS_BIO_NFS_PATCH, old_PRE_SOFTUPDATE, old_PRE_SMP_VMSHARE, old_PRE_NOBDEV, old_PRE_NEWBUS, old_PRE_DEVFS_SLICE, old_POST_VFS_BIO_NFS_PATCH, old_POST_SOFTUPDATE, old_POST_SMP_VMSHARE, old_POST_NEWBUS, old_POST_DEVFS_SLICE
Branch point for: old_RELENG_3
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +1 -3 lines
Back out DIAGNOSTIC changes.
Revision 1.42: download - view: text, markup, annotated - select for diffs
Wed Feb 4 22:32:45 1998 UTC (14 years ago) by eivind
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +3 -1 lines
Turn DIAGNOSTIC into a new-style option.
Revision 1.41: download - view: text, markup, annotated - select for diffs
Fri Dec 19 18:58:14 1997 UTC (14 years, 1 month ago) by bde
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +2 -1 lines
Set the sender's low watermark to match the maximum size for atomic writes that we advertise (PIPE_BUF = 512).
Revision 1.40: download - view: text, markup, annotated - select for diffs
Sat Dec 13 13:49:59 1997 UTC (14 years, 2 months ago) by bde
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +2 -8 lines
Fixed EOF handing. 1. SS_CANTRCVMORE was initially set on the wrong socket, so reads when there has never been a writer on the socket did not return 0. Note that such reads are only possible if the fifo was opened in (O_RDONLY | O_NONBLOCK) mode. 2. SS_CANTSENDMORE was initially set on the wrong socket, but this was harmless because the wrong socket is never sent from and there is no need to set the flag initially on the right socket (since open in (O_WRONLY | O_NONBLOCK) mode fails if there is no reader...). 3. SS_CANTRCVMORE was cleared when read() returns. This broke the case where read() returns 0 - subsequent reads are supposed to return 0 until a writer appears. There is no need to clear the flag when read() returns, since it is cleared correctly when a writer appears.
Revision 1.39: download - view: text, markup, annotated - select for diffs
Sat Dec 13 12:58:09 1997 UTC (14 years, 2 months ago) by bde
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +32 -2 lines
Restored fifo_pathconf() from rev.1.32. vop_stdpathconf() is too general to be of much use. Using it here weakened the _PC_MAX_CANON, _PC_MAX_INPUT and _PC_VDISABLE cases. fifo_pathconf() is not quite correct either. _PC_CHOWN_RESTRICTED and _PC_LINK_MAX should be handled by the host file system. For directories, the host file system should let us handle _PC_PIPE_BUF.
Revision 1.38: download - view: text, markup, annotated - select for diffs
Fri Dec 5 19:55:46 1997 UTC (14 years, 2 months ago) by bde
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +2 -1 lines
Don't include <sys/lock.h> in headers when only `struct simplelock' is required. Fixed everything that depended on the pollution.
Revision 1.37: download - view: text, markup, annotated - select for diffs
Mon Oct 27 15:33:04 1997 UTC (14 years, 3 months ago) by bde
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +3 -4 lines
Use unique sleep message strings.
Revision 1.36: download - view: text, markup, annotated - select for diffs
Mon Oct 27 13:33:39 1997 UTC (14 years, 3 months ago) by bde
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +1 -2 lines
Removed unused #includes. The need for most of them went away with recent changes (docluster* and vfs improvements).
Revision 1.35: download - view: text, markup, annotated - select for diffs
Sun Oct 26 20:55:16 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +7 -18 lines
VFS interior redecoration. Rename vn_default_error to vop_defaultop all over the place. Move vn_bwrite from vfs_bio.c to vfs_default.c and call it vop_stdbwrite. Use vop_null instead of nullop. Move vop_nopoll from vfs_subr.c to vfs_default.c Move vop_sharedlock from vfs_subr.c to vfs_default.c Move vop_nolock from vfs_subr.c to vfs_default.c Move vop_nounlock from vfs_subr.c to vfs_default.c Move vop_noislocked from vfs_subr.c to vfs_default.c Use vop_ebadf instead of *_ebadf. Add vop_defaultop for getpages on master vnode in MFS.
Revision 1.34: download - view: text, markup, annotated - select for diffs
Thu Oct 16 22:00:12 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +1 -4 lines
VFS clean up "hekto commit"
1. Add defaults for more VOPs
VOP_LOCK vop_nolock
VOP_ISLOCKED vop_noislocked
VOP_UNLOCK vop_nounlock
and remove direct reference in filesystems.
2. Rename the nfsv2 vnop tables to improve sorting order.
Revision 1.33: download - view: text, markup, annotated - select for diffs
Thu Oct 16 20:32:26 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +2 -35 lines
Another VFS cleanup "kilo commit"
1. Remove VOP_UPDATE, it is (also) an UFS/{FFS,LFS,EXT2FS,MFS}
intereface function, and now lives in the ufsmount structure.
2. Remove VOP_SEEK, it was unused.
3. Add mode default vops:
VOP_ADVLOCK vop_einval
VOP_CLOSE vop_null
VOP_FSYNC vop_null
VOP_IOCTL vop_enotty
VOP_MMAP vop_einval
VOP_OPEN vop_null
VOP_PATHCONF vop_einval
VOP_READLINK vop_einval
VOP_REALLOCBLKS vop_eopnotsupp
And remove identical functionality from filesystems
4. Add vop_stdpathconf, which returns the canonical stuff. Use
it in the filesystems. (XXX: It's probably wrong that specfs
and fifofs sets this vop, shouldn't it come from the "host"
filesystem, for instance ufs or cd9660 ?)
5. Try to make system wide VOP functions have vop_* names.
6. Initialize the um_* vectors in LFS.
(Recompile your LKMS!!!)
Revision 1.32: download - view: text, markup, annotated - select for diffs
Thu Oct 16 10:48:25 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +1 -8 lines
VFS mega cleanup commit (x/N)
1. Add new file "sys/kern/vfs_default.c" where default actions for
VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE,
POLL, REVOKE and STRATEGY. Various stuff spread over the entire
tree belongs here.
2. Change VOP_BLKATOFF to a normal function in cd9660.
3. Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC. These
are private interface functions between UFS and the underlying
storage manager layer (FFS/LFS/MFS/EXT2FS). The functions now
live in struct ufsmount instead.
4. Remove a kludge of VOP_ functions in all filesystems, that did
nothing but obscure the simplicity and break the expandability.
If a filesystem doesn't implement VOP_FOO, it shouldn't have an
entry for it in its vnops table. The system will try to DTRT
if it is not implemented. There are still some cruft left, but
the bulk of it is done.
5. Fix another VCALL in vfs_cache.c (thanks Bruce!)
Revision 1.31: download - view: text, markup, annotated - select for diffs
Wed Oct 15 13:23:12 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +67 -43 lines
vnops megacommit 1. Use the default function to access all the specfs operations. 2. Use the default function to access all the fifofs operations. 3. Use the default function to access all the ufs operations. 4. Fix VCALL usage in vfs_cache.c 5. Use VOCALL to access specfs functions in devfs_vnops.c 6. Staticize most of the spec and fifofs vnops functions. 7. Make UFS panic if it lacks bits of the underlying storage handling.
Revision 1.30: download - view: text, markup, annotated - select for diffs
Wed Oct 15 10:04:18 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +8 -8 lines
Hmm, realign the vnops into two columns.
Revision 1.29: download - view: text, markup, annotated - select for diffs
Wed Oct 15 09:21:00 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +44 -45 lines
Stylistic overhaul of vnops tables.
1. Remove comment stating the blatantly obvious.
2. Align in two columns.
3. Sort all but the default element alphabetically.
4. Remove XXX comments pointing out entries not needed.
Revision 1.28: download - view: text, markup, annotated - select for diffs
Sun Oct 12 20:24:42 1997 UTC (14 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +2 -2 lines
Last major round (Unless Bruce thinks of somthing :-) of malloc changes. Distribute all but the most fundamental malloc types. This time I also remembered the trick to making things static: Put "static" in front of them. A couple of finer points by: bde
Revision 1.27: download - view: text, markup, annotated - select for diffs
Sun Sep 14 02:57:53 1997 UTC (14 years, 4 months ago) by peter
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +17 -16 lines
Convert select -> poll. Delete 'always succeed' select/poll handlers, replaced with generic call. Flag missing vnode op table entries.
Revision 1.26: download - view: text, markup, annotated - select for diffs
Tue Sep 2 20:06:11 1997 UTC (14 years, 5 months ago) by bde
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +1 -6 lines
Removed unused #includes.
Revision 1.25: download - view: text, markup, annotated - select for diffs
Sat Aug 16 19:15:13 1997 UTC (14 years, 5 months ago) by wollman
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +4 -3 lines
Fix all areas of the system (or at least all those in LINT) to avoid storing socket addresses in mbufs. (Socket buffers are the one exception.) A number of kernel APIs needed to get fixed in order to make this happen. Also, fix three protocol families which kept PCBs in mbufs to not malloc them instead. Delete some old compatibility cruft while we're at it, and add some new routines in the in_cksum family.
Revision 1.24.2.1: download - view: text, markup, annotated - select for diffs
Wed Jul 2 19:53:56 1997 UTC (14 years, 7 months ago) by wollman
Branches: old_WOLLMAN_MBUF
Diff to: previous 1.24: preferred, colored; next MAIN 1.25: preferred, colored
Changes since revision 1.24: +4 -3 lines
Check in my big get-rid-of-sockaddrs-in-mbufs patch, on a private branch. Requested by: julian
Revision 1.24: download - view: text, markup, annotated - select for diffs
Mon Mar 24 11:37:53 1997 UTC (14 years, 10 months ago) by bde
Branches: MAIN
CVS tags: old_pre_smp_merge, old_post_smp_merge, old_BP_WOLLMAN_MBUF
Branch point for: old_WOLLMAN_MBUF
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +2 -2 lines
Don't include <sys/ioctl.h> in the kernel. Stage 3: include <sys/filio.h> instead of <sys/ioctl.h> in non-network non-tty files.
Revision 1.23: download - view: text, markup, annotated - select for diffs
Sun Mar 23 03:36:49 1997 UTC (14 years, 10 months ago) by bde
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +2 -1 lines
Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined. Fixed everything that depended on getting fcntl.h stuff from the wrong place. Most things don't depend on file.h stuff at all.
Revision 1.22: download - view: text, markup, annotated - select for diffs
Sat Feb 22 09:40:17 1997 UTC (14 years, 11 months ago) by peter
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +1 -1 lines
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
Revision 1.21: download - view: text, markup, annotated - select for diffs
Wed Feb 12 16:26:37 1997 UTC (15 years ago) by mpp
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +1 -0 lines
Rstored #include of <sys/kernel.h> so that this compiles without warnings again. Submitted by: bde
Revision 1.20: download - view: text, markup, annotated - select for diffs
Mon Feb 10 02:12:32 1997 UTC (15 years ago) by dyson
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +88 -89 lines
This is the kernel Lite/2 commit. There are some requisite userland changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
Revision 1.19: download - view: text, markup, annotated - select for diffs
Tue Jan 14 06:46:03 1997 UTC (15 years ago) by jkh
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +1 -1 lines
Make the long-awaited change from $Id$ to $FreeBSD$ This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
Revision 1.18: download - view: text, markup, annotated - select for diffs
Thu Dec 19 18:16:28 1996 UTC (15 years, 1 month ago) by bde
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -2 lines
Fixed errno for unsupported advisory locks. The errno is now EINVAL fcntl() and EOPNOTSUPP for flock(). POSIX specifies the weaker EINVAL errno and the man page agrees. Not fixed: deadfs: always returns wrong EBADF devfs, msdosfs: always return sometimes-wrong EINVAL cd9660, fdesc, kernfs, portal: always return sometimes-wrong EOPNOTSUPP procfs: always returns wrong EIO mfs: panic?! nfs: fudged NetBSD uses a generic file system genfs to do return the sometimes-wrong EOPNOTSUPP more consistently :-)(. Found by: NIST-PCTS
Revision 1.17: download - view: text, markup, annotated - select for diffs
Tue Sep 3 14:22:23 1996 UTC (15 years, 5 months ago) by bde
Branches: MAIN
CVS tags: old_RELENG_2_2_BP, old_RELENG_2_2_8_RELEASE, old_RELENG_2_2_7_RELEASE, old_RELENG_2_2_6_RELEASE, old_RELENG_2_2_5_RELEASE, old_RELENG_2_2_2_RELEASE, old_RELENG_2_2_1_RELEASE, old_RELENG_2_2_0_RELEASE
Branch point for: old_RELENG_2_2
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +2 -1 lines
Eliminated nested include of <sys/unistd.h> in <sys/file.h> in the kernel. Include it directly in the few places where it is used. Reduced some #includes of <sys/file.h> to #includes of <sys/fcntl.h> or nothing.
Revision 1.1.1.2 (vendor branch): download - view: text, markup, annotated - select for diffs
Mon Mar 11 19:28:58 1996 UTC (15 years, 11 months ago) by peter
Branches: old_CSRG
CVS tags: old_bsd_44_lite_2
Diff to: previous 1.1.1.1: preferred, colored
Changes since revision 1.1.1.1: +90 -69 lines
Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all files are off the vendor branch, so this should not change anything. A "U" marker generally means that the file was not changed in between the 4.4Lite and Lite-2 releases, and does not need a merge. "C" generally means that there was a change. [two new auxillary files in miscfs/union]
Revision 1.16: download - view: text, markup, annotated - select for diffs
Tue Feb 13 18:16:23 1996 UTC (15 years, 11 months ago) by wollman
Branches: MAIN
CVS tags: old_wollman_polling
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +3 -3 lines
Kill XNS. While we're at it, fix socreate() to take a process argument. (This was supposed to get committed days ago...)
Revision 1.15: download - view: text, markup, annotated - select for diffs
Thu Dec 14 09:53:03 1995 UTC (16 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +12 -7 lines
Another mega commit to staticize things.
Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Dec 11 10:26:34 1995 UTC (16 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +7 -7 lines
Back out this one, must have screwed up somewhere :-(
Revision 1.13: download - view: text, markup, annotated - select for diffs
Mon Dec 11 09:24:13 1995 UTC (16 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +7 -7 lines
Staticize.
Revision 1.12: download - view: text, markup, annotated - select for diffs
Thu Nov 9 08:15:27 1995 UTC (16 years, 3 months ago) by bde
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +44 -44 lines
Introduced a type `vop_t' for vnode operation functions and used it 1138 times (:-() in casts and a few more times in declarations. This change is null for the i386. The type has to be `typedef int vop_t(void *)' and not `typedef int vop_t()' because `gcc -Wstrict-prototypes' warns about the latter. Since vnode op functions are called with args of different (struct pointer) types, neither of these function types is any use for type checking of the arg, so it would be preferable not to use the complete function type, especially since using the complete type requires adding 1138 casts to avoid compiler warnings and another 40+ casts to reverse the function pointer conversions before calling the functions.
Revision 1.9.4.1: download - view: text, markup, annotated - select for diffs
Thu Sep 28 13:32:03 1995 UTC (16 years, 4 months ago) by davidg
Branches: old_RELENG_2_1_0
CVS tags: old_RELENG_2_1_7_RELEASE, old_RELENG_2_1_6_RELEASE, old_RELENG_2_1_6_1_RELEASE, old_RELENG_2_1_5_RELEASE, old_RELENG_2_1_0_RELEASE
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +29 -16 lines
Brought in changes from rev 1.10: add ability to have a fifo open for read & write simultaneously. Needed for proper SCO support.
Revision 1.11: download - view: text, markup, annotated - select for diffs
Mon Sep 4 00:20:33 1995 UTC (16 years, 5 months ago) by dyson
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +5 -1 lines
Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block count for VOP_BMAP. Updated affected filesystems...
Revision 1.10: download - view: text, markup, annotated - select for diffs
Sun Aug 6 16:14:21 1995 UTC (16 years, 6 months ago) by jkh
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +28 -15 lines
Allow a pipe to be opened read/write at one end, as is allowed in SunOS and SCO. You can then even use the pipe as a cheap fifo stack (yuck!). A semantic change also important (but not limited) to iBCS2 compatibility. Submitted by: swallace
Revision 1.9: download - view: text, markup, annotated - select for diffs
Tue May 30 08:06:59 1995 UTC (16 years, 8 months ago) by rgrimes
Branches: MAIN
CVS tags: old_RELENG_2_1_0_BP, old_RELENG_2_0_5_RELEASE, old_RELENG_2_0_5_BP, old_RELENG_2_0_5
Branch point for: old_RELENG_2_1_0
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +4 -4 lines
Remove trailing whitespace.
Revision 1.8: download - view: text, markup, annotated - select for diffs
Thu Mar 16 18:13:13 1995 UTC (16 years, 10 months ago) by bde
Branches: MAIN
CVS tags: old_RELENG_2_0_5_ALPHA
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -1 lines
Add and move declarations to fix all of the warnings from `gcc -Wimplicit' (except in netccitt, netiso and netns) and most of the warnings from `gcc -Wnested-externs'. Fix all the bugs found. There were no serious ones.
Revision 1.7: download - view: text, markup, annotated - select for diffs
Fri Feb 3 06:46:13 1995 UTC (17 years ago) by davidg
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +3 -1 lines
Fixed bmap run-length brokeness. Use bmap run-length extension when doing clustered paging. Submitted by: John Dyson
Revision 1.6: download - view: text, markup, annotated - select for diffs
Sun Oct 2 17:48:00 1994 UTC (17 years, 4 months ago) by phk
Branches: MAIN
CVS tags: old_RELEASE_2_0, old_OLAH_TTCP, old_BETA_2_0, old_ALPHA_2_0
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +24 -20 lines
GCC cleanup. Reviewed by: Submitted by: Obtained from:
Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Sep 22 19:38:07 1994 UTC (17 years, 4 months ago) by wollman
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -1 lines
More loadable VFS changes: - Make a number of filesystems work again when they are statically compiled (blush) - FIFOs are no longer optional; ``options FIFO'' removed from distributed config files.
Revision 1.4: download - view: text, markup, annotated - select for diffs
Wed Sep 21 03:46:57 1994 UTC (17 years, 4 months ago) by wollman
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -1 lines
Implemented loadable VFS modules, and made most existing filesystems loadable. (NFS is a notable exception.)
Revision 1.3: download - view: text, markup, annotated - select for diffs
Tue Aug 2 07:44:56 1994 UTC (17 years, 6 months ago) by davidg
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +1 -0 lines
Added $Id$
Revision 1.2: download - view: text, markup, annotated - select for diffs
Wed May 25 09:07:23 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +18 -0 lines
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch. Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Tue May 24 10:05:00 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: old_CSRG
CVS tags: old_bsd_44_lite, old_REL_before_johndavid_2_0_0
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
BSD 4.4 Lite Kernel Sources
Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue May 24 10:04:59 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: MAIN
Initial revision
