#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
206361 |
|
07-Apr-2010 |
joel |
Switch to our preferred 2-clause BSD license.
Approved by: bp
|
#
187960 |
|
31-Jan-2009 |
bz |
After r186194 the *fs_strategy() functions always return 0. So we are no longer interested in the error returned from the *fs_doio() functions. With that we can remove the error variable as its value is unused now.
Submitted by: Christoph Mallon christoph.mallon@gmx.de
|
#
186194 |
|
16-Dec-2008 |
trasz |
According to phk@, VOP_STRATEGY should never, _ever_, return anything other than 0. Make it so. This fixes "panic: VOP_STRATEGY failed bp=0xc320dd90 vp=0xc3b9f648", encountered when writing to an orphaned filesystem. Reason for the panic was the following assert: KASSERT(i == 0, ("VOP_STRATEGY failed bp=%p vp=%p", bp, bp->b_vp)); at vfs_bio:bufstrategy().
Reviewed by: scottl, phk Approved by: rwatson (mentor) Sponsored by: FreeBSD Foundation
|
#
184413 |
|
28-Oct-2008 |
trasz |
Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary to add more V* constants, and the variables changed by this patch were often being assigned to mode_t variables, which is 16 bit.
Approved by: rwatson (mentor)
|
#
182371 |
|
28-Aug-2008 |
attilio |
Decontextualize the couplet VOP_GETATTR / VOP_SETATTR as the passed thread was always curthread and totally unuseful.
Tested by: Giovanni Trematerra <giovanni dot trematerra at gmail dot com>
|
#
178243 |
|
16-Apr-2008 |
kib |
Move the head of byte-level advisory lock list from the filesystem-specific vnode data to the struct vnode. Provide the default implementation for the vop_advlock and vop_advlockasync. Purge the locks on the vnode reclaim by using the lf_purgelocks(). The default implementation is augmented for the nfs and smbfs. In the nfs_advlock, push the Giant inside the nfs_dolock.
Before the change, the vop_advlock and vop_advlockasync have taken the unlocked vnode and dereferenced the fs-private inode data, racing with with the vnode reclamation due to forced unmount. Now, the vop_getattr under the shared vnode lock is used to obtain the inode size, and later, in the lf_advlockasync, after locking the vnode interlock, the VI_DOOMED flag is checked to prevent an operation on the doomed vnode.
The implementation of the lf_purgelocks() is submitted by dfr.
Reported by: kris Tested by: kris, pho Discussed with: jeff, dfr MFC after: 2 weeks
|
#
178195 |
|
14-Apr-2008 |
dfr |
When calling lf_advlock to unlock a record, make sure that ap->a_fl->l_type is F_UNLCK otherwise we trigger a LOCKF_DEBUG panic.
MFC after: 3 days
|
#
175294 |
|
13-Jan-2008 |
attilio |
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>
|
#
175202 |
|
09-Jan-2008 |
attilio |
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>
|
#
170152 |
|
31-May-2007 |
kib |
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)
|
#
164033 |
|
06-Nov-2006 |
rwatson |
Sweep kernel replacing suser(9) calls with priv(9) calls, assigning specific privilege names to a broad range of privileges. These may require some future tweaking.
Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net>
|
#
163993 |
|
05-Nov-2006 |
bp |
Create a bidirectional mapping of the DOS 'read only' attribute to the 'w' flag.
PR: kern/77958 Submitted by: ghozzy gmail com MFC after: 1 month
|
#
159117 |
|
31-May-2006 |
cperciva |
Enable inadvertantly disabled "securenet" access controls in ypserv. [1]
Correct a bug in the handling of backslash characters in smbfs which can allow an attacker to escape from a chroot(2). [2]
Security: FreeBSD-SA-06:15.ypserv [1] Security: FreeBSD-SA-06:16.smbfs [2]
|
#
145006 |
|
13-Apr-2005 |
jeff |
- Change all filesystems and vfs_cache to relock the dvp once the child is locked in the ISDOTDOT case. Se vfs_lookup.c r1.79 for details.
Sponsored by: Isilon Systems, Inc.
|
#
144852 |
|
10-Apr-2005 |
delphij |
Initialize vp before using it. Failing to do this can cause instant panic when trying to access a file on mounted smbfs.
Submitted by: takawata at jp freebsd org
|
#
144299 |
|
29-Mar-2005 |
jeff |
- Remove wantparent, it is no longer necessary. An assert in vfs_lookup.c prevents any callers from doing a modifying op without LOCKPARENT or WANTPARENT.
|
#
144297 |
|
29-Mar-2005 |
jeff |
- cache_lookup() now locks the new vnode for us to prevent some races. Remove redundant code.
Sponsored by: Isilon Systems, Inc.
|
#
144206 |
|
28-Mar-2005 |
jeff |
- We no longer have to bother with PDIRUNLOCK, lookup() handles it for us. - Network filesystems are written with a special idiom that checks the cache first, and may even unlock dvp before discovering that a network round-trip is required to resolve the name. I believe dvp is prevented from being recycled even in the forced unmount case by the shared lock on the mount point. If not, this code should grow checks for VI_DOOMED after it relocks dvp or it will access NULL v_data fields.
Sponsored by: Isilon Systems, Inc.
|
#
143513 |
|
13-Mar-2005 |
jeff |
- 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.
|
#
142238 |
|
22-Feb-2005 |
phk |
vp->v_id is a private field for the vfs namecache and it is a big mistake that NFS ever started using it and an even bigger that it got copied&pasted to nwfs and smbfs.
Replace with use of vhold()/vdrop().
|
#
140965 |
|
29-Jan-2005 |
peadar |
Unbreak a few filesystems for which vnode_create_vobject() wasn't being called in "open", causing mmap() to fail.
Where possible, pass size of file to vnode_create_vobject() rather than having it find it out the hard way via VOP_LOOKUP
Reviewed by: phk
|
#
140223 |
|
14-Jan-2005 |
phk |
Eliminate unused and constant arguments to smbfs_vinvalbuf()
|
#
140196 |
|
13-Jan-2005 |
phk |
Whitespace in vop_vector{} initializations.
|
#
139776 |
|
06-Jan-2005 |
imp |
/* -> /*- for copyright notices, minor format tweaks as necessary
|
#
138490 |
|
06-Dec-2004 |
phk |
Convert to nmount. Add omount compat.
Unpropagate the sm_args function into the runtime part.
|
#
138290 |
|
01-Dec-2004 |
phk |
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)
|
#
138270 |
|
01-Dec-2004 |
phk |
Mechanically change prototypes for vnode operations to use the new typedefs.
|
#
134897 |
|
07-Sep-2004 |
phk |
Explicitly pass vnode to smbfs_doio() function.
|
#
132653 |
|
26-Jul-2004 |
cperciva |
Rename suser_cred()'s PRISON_ROOT flag to SUSER_ALLOWJAIL. This is somewhat clearer, but more importantly allows for a consistent naming scheme for suser_cred flags.
The old name is still defined, but will be removed in a few days (unless I hear any complaints...)
Discussed with: rwatson, scottl Requested by: jhb
|
#
125637 |
|
10-Feb-2004 |
tjr |
Fixes problems that occurred when a file was removed and a directory created with the same name, and vice versa: - Immediately recycle vnodes of files & directories that have been deleted or renamed. - When looking an entry in the VFS name cache or smbfs's private cache, make sure the vnode type is consistent with the type of file the server thinks it is, and re-create the vnode if it isn't.
The alternative to this is to recycle vnodes unconditionally when their use count drops to 0, but this would make all the caching we do mostly useless.
PR: 62342 MFC after: 2 weeks
|
#
124326 |
|
10-Jan-2004 |
tjr |
Restore closing of SMB find handle in smbfs_close().
|
#
123724 |
|
22-Dec-2003 |
tjr |
Make oldsize in smbfs_getattr() 64 bits wide instead of 32 to avoid truncation when files are larger than 4GB.
|
#
121196 |
|
18-Oct-2003 |
phk |
Initialize b_offset before calling VOP_STRATEGY/VOP_SPECSTRATEGY.
Remove various comments of KASSERTS and comments about B_PHYS which does not apply anymore.
|
#
121190 |
|
18-Oct-2003 |
phk |
Convert some if(bla) panic("foo") to KASSERTS to improve grep-ability.
|
#
120471 |
|
26-Sep-2003 |
tjr |
Allow the [, ], and = characters in non-8.3 filenames since they are allowed by Windows (ref: MS KB article 120138).
XXX From my reading of the CIFS specification, it's not clear that clients need to validate filenames at all.
PR: 57123 Submitted by: Paul Coucher MFC after: 1 month
|
#
118047 |
|
26-Jul-2003 |
phk |
Add a "int fd" argument to VOP_OPEN() which in the future will contain the filedescriptor number on opens from userland.
The index is used rather than a "struct file *" since it conveys a bit more information, which may be useful to in particular fdescfs and /dev/fd/*
For now pass -1 all over the place.
|
#
116486 |
|
17-Jun-2003 |
tjr |
Send the close request to the SMB server in smbfs_inactive(), instead of smbfs_close(). This fixes paging to and from mmap()'d regions of smbfs files after the descriptor has been closed, and makes thttpd, GNU ld, and perhaps more things work that depend on being able to do this.
PR: 48291
|
#
116412 |
|
15-Jun-2003 |
phk |
Add the same KASSERT to all VOP_STRATEGY and VOP_SPECSTRATEGY implementations to check that the buffer points to the correct vnode.
|
#
114216 |
|
29-Apr-2003 |
kan |
Deprecate machine/limits.h in favor of new sys/limits.h. Change all in-tree consumers to include <sys/limits.h>
Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
|
#
111944 |
|
06-Mar-2003 |
tjr |
Remove fragments of support for the FreeBSD 3.x and 4.x branches.
|
#
111841 |
|
03-Mar-2003 |
njl |
Finish cleanup of vprint() which was begun with changing v_tag to a string. Remove extraneous uses of vop_null, instead defering to the default op. Rename vnode type "vfs" to the more descriptive "syncer". Fix formatting for various filesystems that use vop_print.
|
#
111127 |
|
19-Feb-2003 |
tjr |
Do not call smbfs_attr_cacheremove() in the EXDEV case in smbfs_rename(). One of the vnodes is on different mount and is possibly on a different kind of filesystem; treating it as an smbfs vnode then writing to it will probably corrupt it.
PR: 48381 MFC after: 1 month
|
#
110533 |
|
08-Feb-2003 |
tjr |
Revert removal of vnode and VFS stubs; bp asserts that they are needed.
|
#
110500 |
|
07-Feb-2003 |
tjr |
Garbage-collect stub vnode ops, use the defaults instead.
|
#
110314 |
|
04-Feb-2003 |
tjr |
Add missing permission checks to the smbfs VOP_SETATTR vnode op for the case where the caller requests to change access or modification times.
MFC after: 3 days
|
#
110272 |
|
03-Feb-2003 |
tjr |
Use vaccess() instead of rolling our own access checks. This fixes a bug where requests to open a file in append mode were always denied, and will also be useful when capabilities and auditing are implemented.
|
#
110043 |
|
29-Jan-2003 |
tjr |
Escape the backslash in badchars so that smbfs_pathcheck() correctly rejects pathnames with backslashes in them (and to avoid a syntax error).
Found by: FlexeLint
|
#
108648 |
|
04-Jan-2003 |
phk |
Since Jeffr made the std* functions the default in rev 1.63 of kern/vfs_defaults.c it is wrong for the individual filesystems to use the std* functions as that prevents override of the default.
Found by: src/tools/tools/vop_table
|
#
107822 |
|
13-Dec-2002 |
tjr |
Fix build with SMB_VNODE_DEBUG defined; use td_proc->p_pid instead of the nonexistent td_pid.
|
#
107821 |
|
13-Dec-2002 |
tjr |
Store a reference to the parent directory's vnode in struct smbnode, not to the parent's smbnode, which may be freed during the lifetime of the child if the mount is forcibly unmounted. umount -f should now work properly (ie. not panic) on smbfs mounts.
|
#
104004 |
|
26-Sep-2002 |
phk |
Return ENOTTY on incorrect ioctls.
|
#
103936 |
|
25-Sep-2002 |
jeff |
- 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.
|
#
103559 |
|
18-Sep-2002 |
njl |
Remove any VOP_PRINT that redundantly prints the tag. Move lockmgr_printinfo() into vprint() for everyone's benefit.
Suggested by: bde
|
#
103537 |
|
18-Sep-2002 |
bp |
Always open file in the DENYNONE mode and let the server to decide what is good for this file. This should allow read only access to file which is already opened on server.
|
#
103314 |
|
14-Sep-2002 |
njl |
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)
|
#
101308 |
|
04-Aug-2002 |
jeff |
- Replace v_flag with v_iflag and v_vflag - v_vflag is protected by the vnode lock and is used when synchronization with VOP calls is needed. - v_iflag is protected by interlock and is used for dealing with vnode management issues. These flags include X/O LOCK, FREE, DOOMED, etc. - All accesses to v_iflag and v_vflag have either been locked or marked with mp_fixme's. - Many ASSERT_VOP_LOCKED calls have been added where the locking was not clear. - Many functions in vfs_subr.c were restructured to provide for stronger locking.
Idea stolen from: BSD/OS
|
#
94602 |
|
13-Apr-2002 |
bp |
Check write permissions before creating anything.
PR: kern/27883 MFC after: 1 week
|
#
94177 |
|
08-Apr-2002 |
phk |
Remove 3 instances of vm_zone.h inclusion.
|
#
91406 |
|
27-Feb-2002 |
jhb |
Simple p_ucred -> td_ucred changes to start using the per-thread ucred reference.
|
#
88279 |
|
20-Dec-2001 |
bp |
Previous commit was intented to silence a warning, not to change codepath.
|
#
88263 |
|
20-Dec-2001 |
sheldonh |
Silence harmless "smbfs_closel: Negative opencount" messages at unmount time.
Thanks to iedowse for the background information.
Submitted by: bp
|
#
87194 |
|
02-Dec-2001 |
bp |
Catch up with KSE changes.
Submitted by: Max Khon <fjoe@iclub.nsu.ru>
|
#
82517 |
|
29-Aug-2001 |
ache |
smbfs_advlock: simplify overflow checks (copy from kern_lockf.c) minor formatting issues to minimize differences
|
#
82347 |
|
26-Aug-2001 |
ache |
Cosmetique & style fixes from bde
|
#
82270 |
|
24-Aug-2001 |
ache |
Copy from kern_lockf.c: remove extra check
|
#
82210 |
|
23-Aug-2001 |
ache |
Copy yet one check for SEEK_END overflow
|
#
82203 |
|
23-Aug-2001 |
ache |
Copy my newly introduced l_len<0 'oops' fix from kern_lockf.c
|
#
82201 |
|
23-Aug-2001 |
ache |
Copy POSIX l_len<0 handling from kern_lockf.c
|
#
82196 |
|
23-Aug-2001 |
ache |
Cosmetique: correct English in comments non-cosmetique: add missing break; - original code was broken here
|
#
82190 |
|
23-Aug-2001 |
ache |
Move <machine/*> after <sys/*>
Pointed by: bde
|
#
82175 |
|
23-Aug-2001 |
ache |
adv. lock: copy EOVERFLOW handling code from main variant fix type of 'size' arg
|
#
82038 |
|
21-Aug-2001 |
bp |
Return proper length of _PC_NAME_MAX value if long names support is enabled.
Obtained from: Mac OS X MFC after: 1 week
|
#
76131 |
|
29-Apr-2001 |
phk |
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.
|
#
75374 |
|
10-Apr-2001 |
bp |
Import kernel part of SMB/CIFS requester. Add smbfs(CIFS) filesystem.
Userland part will be in the ports tree for a while.
Obtained from: smbfs-1.3.7-dev package.
|