summaryrefslogtreecommitdiffstats
path: root/sys/fs/smbfs
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow the [, ], and = characters in non-8.3 filenames since theytjr2003-09-261-2/+2
| | | | | | | | | | | 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
* - Remove interlock protection around VI_XLOCK. The interlock is notjeff2003-09-191-3/+3
| | | | | | | | | | | | | sufficient to guarantee that this race is not hit. The XLOCK will likely have to be redesigned due to the way reference counting and mutexes work in FreeBSD. We currently can not be guaranteed that xlock was not set and cleared while we were blocked on the interlock while waiting to check for XLOCK. This would lead us to reference a vnode which was not the vnode we requested. - Add a backtrace() call inside of INVARIANTS in the hopes of finding out if this condition is ever hit. It should not, since we should be retaining a reference to the vnode in these cases. The reference would be sufficient to block recycling.
* Add a "int fd" argument to VOP_OPEN() which in the future willphk2003-07-262-3/+3
| | | | | | | | | 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.
* size_t != int. Make this compile on 64 bit platforms (eg: amd64).peter2003-07-241-1/+2
| | | | Also, "u_short value; if (value > 0xffff)" can never be true.
* Lock the vm object when freeing a vm page.alc2003-06-191-1/+9
|
* Send the close request to the SMB server in smbfs_inactive(), instead oftjr2003-06-174-66/+34
| | | | | | | | 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
* Add the same KASSERT to all VOP_STRATEGY and VOP_SPECSTRATEGY implementationsphk2003-06-151-0/+2
| | | | to check that the buffer points to the correct vnode.
* Don't follow smbnode n_parent pointer when NREFPARENT flag is not settjr2003-06-141-0/+2
| | | | | | in smb_fphelp(): the parent vnode may have already been recycled since we don't hold a reference to it. Fixes a panic when rebooting with mdconfig -t vnode devices referring to vnodes on a smbfs mount.
* Initialize struct vfsops C99-sparsely.phk2003-06-121-24/+17
| | | | | Submitted by: hmp Reviewed by: phk
* Deprecate machine/limits.h in favor of new sys/limits.h.kan2003-04-291-2/+1
| | | | | | | Change all in-tree consumers to include <sys/limits.h> Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
* - smb_td_intr takes a thread as an argument not a proc.jeff2003-04-011-1/+1
|
* - smb_proc_intr is now spelled smb_td_intr.jeff2003-04-011-1/+1
| | | | | Noticed by: phk Pointy hat to: jeffr
* Give the M_WAITOK flag explicitly to the MALLOC call to silence a runtimetjr2003-04-011-1/+2
| | | | warning ("Bad malloc flags: 0").
* Rename vfs_stdsync function to vfs_stdnosync which matches morekan2003-03-111-45/+1
| | | | | | | | | | | | | closely what function is really doing. Update all existing consumers to use the new name. Introduce a new vfs_stdsync function, which iterates over mount point's vnodes and call FSYNC on each one of them in turn. Make nwfs and smbfs use this new function instead of rolling their own identical sync implementations. Reviewed by: jeff
* Remove fragments of support for the FreeBSD 3.x and 4.x branches.tjr2003-03-063-20/+0
|
* Finish cleanup of vprint() which was begun with changing v_tag to a string.njl2003-03-031-1/+1
| | | | | | 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.
* More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).des2003-03-021-3/+3
|
* Clean up whitespace, s/register //, refrain from strong urge to ANSIfy.des2003-03-021-5/+5
|
* uiomove-related caddr_t -> void * (just the low-hanging fruit)des2003-03-021-2/+2
|
* Do not call smbfs_attr_cacheremove() in the EXDEV case in smbfs_rename().tjr2003-02-191-5/+9
| | | | | | | | | 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
* Back out M_* changes, per decision of the TRB.imp2003-02-192-6/+6
| | | | Approved by: trb
* Revert removal of vnode and VFS stubs; bp asserts that they are needed.tjr2003-02-083-3/+107
|
* Garbage-collect stub VFS ops, use the defaults instead.tjr2003-02-071-45/+3
|
* Garbage-collect stub vnode ops, use the defaults instead.tjr2003-02-072-62/+0
|
* Add missing permission checks to the smbfs VOP_SETATTR vnode op for thetjr2003-02-041-0/+5
| | | | | | case where the caller requests to change access or modification times. MFC after: 3 days
* Split the global timezone structure into two integer fields tophk2003-02-031-2/+2
| | | | | | | | | | prevent the compiler from optimizing assignments into byte-copy operations which might make access to the individual fields non-atomic. Use the individual fields throughout, and don't bother locking them with Giant: it is no longer needed. Inspired by: tjr
* Use vaccess() instead of rolling our own access checks. This fixes a bugtjr2003-02-031-12/+6
| | | | | where requests to open a file in append mode were always denied, and will also be useful when capabilities and auditing are implemented.
* Escape the backslash in badchars so that smbfs_pathcheck() correctlytjr2003-01-291-1/+1
| | | | | | rejects pathnames with backslashes in them (and to avoid a syntax error). Found by: FlexeLint
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-212-6/+6
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* Since Jeffr made the std* functions the default in rev 1.63 ofphk2003-01-041-3/+0
| | | | | | | 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
* Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/schweikh2002-12-301-1/+1
| | | | Add FreeBSD Id tag where missing.
* Remove redundant check for negative or zero v_usecount; vrele() alreadytjr2002-12-151-14/+7
| | | | checks that.
* Keep trying to flush the vnode list for the mount while some are stilltjr2002-12-133-2/+19
| | | | | | | | | busy and we are making progress towards making them not busy. This is needed because smbfs vnodes reference their parent directory but may appear after their parent in the mount's vnode list; one pass over the list is not sufficient in this case. This stops attempts to unmount idle smbfs mounts failing with EBUSY.
* Fix build with SMB_VNODE_DEBUG defined; use td_proc->p_pid instead oftjr2002-12-131-1/+2
| | | | the nonexistent td_pid.
* Store a reference to the parent directory's vnode in struct smbnode,tjr2002-12-136-11/+13
| | | | | | 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.
* Cast a pointer to a uintptr_t to quiet a warning.jhb2002-11-071-1/+1
|
* Regularize the vop_stdlock'ing protocol across all the filesystemsmckusick2002-10-142-2/+2
| | | | | | | | | | | | | | | | | | | | that use it. Specifically, vop_stdlock uses the lock pointed to by vp->v_vnlock. By default, getnewvnode sets up vp->v_vnlock to reference vp->v_lock. Filesystems that wish to use the default do not need to allocate a lock at the front of their node structure (as some still did) or do a lockinit. They can simply start using vn_lock/VOP_UNLOCK. Filesystems that wish to manage their own locks, but still use the vop_stdlock functions (such as nullfs) can simply replace vp->v_vnlock with a pointer to the lock that they wish to have used for the vnode. Such filesystems are responsible for setting the vp->v_vnlock back to the default in their vop_reclaim routine (e.g., vp->v_vnlock = &vp->v_lock). In theory, this set of changes cleans up the existing filesystem lock interface and should have no function change to the existing locking scheme. Sponsored by: DARPA & NAI Labs.
* Return ENOTTY on incorrect ioctls.phk2002-09-261-1/+1
|
* - Use vrefcnt() where it is safe to do so instead of doing direct andjeff2002-09-253-7/+11
| | | | | | | 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.
* Remove any VOP_PRINT that redundantly prints the tag.njl2002-09-181-5/+2
| | | | | | Move lockmgr_printinfo() into vprint() for everyone's benefit. Suggested by: bde
* Always open file in the DENYNONE mode and let the server to decide what isbp2002-09-181-5/+15
| | | | | good for this file. This should allow read only access to file which is already opened on server.
* Implement additional SMB calls to allow proper update of file size as somebp2002-09-184-3/+239
| | | | | | | | | | file servers fail to do it in the right way. New NFLUSHWIRE flag marks pending flush request(s). NB: not all cases covered by this commit. Obtained from: Darwin
* Remove all use of vnode->v_tag, replacing with appropriate substitutes.njl2002-09-142-3/+3
| | | | | | | | | | | | 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)
* - Replace v_flag with v_iflag and v_vflagjeff2002-08-044-6/+13
| | | | | | | | | | | | | | | - 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
* o Lock page queue accesses in nwfs and smbfs.alc2002-08-021-0/+8
| | | | o Assert that the page queues lock is held in vm_page_deactivate().
* More s/file system/filesystem/gtrhodes2002-05-163-9/+9
|
* UIO_NOCOPY is not supported for now, so refuse read opeartion if this flagbp2002-04-261-0/+6
| | | | is set. The full emulation of bio are on its way...
* Track nfs's getpages() changes:bp2002-04-231-12/+46
| | | | | | Properly count v_vnodepgsin. Do not reread page if is already valid. Properly handle partially filled pages.
* Get rid from extra #ifdefs.bp2002-04-232-79/+4
|
* Check write permissions before creating anything.bp2002-04-131-0/+3
| | | | | PR: kern/27883 MFC after: 1 week
OpenPOWER on IntegriCloud