summaryrefslogtreecommitdiffstats
path: root/sys/msdosfs
Commit message (Collapse)AuthorAgeFilesLines
* Removed unused #includes. The need for most of them went away withbde1997-10-271-2/+1
| | | | recent changes (docluster* and vfs improvements).
* VFS interior redecoration.phk1997-10-261-2/+2
| | | | | | | | | | | | | 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.
* Make a set of VOP standard lock, unlock & islocked VOP operators, whichphk1997-10-172-47/+6
| | | | | depend on the lock being located at vp->v_data. Saves 3x3 identical vop procs, more as the other filesystems becomes lock aware.
* Another VFS cleanup "kilo commit"phk1997-10-161-122/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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!!!)
* VFS mega cleanup commit (x/N)phk1997-10-161-2/+1
| | | | | | | | | | | | | | | | | | | | | | | 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!)
* Hmm, realign the vnops into two columns.phk1997-10-151-6/+6
|
* Stylistic overhaul of vnops tables.phk1997-10-151-49/+39
| | | | | | | 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.
* Last major round (Unless Bruce thinks of somthing :-) of malloc changes.phk1997-10-123-5/+10
| | | | | | | | 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
* Distribute and statizice a lot of the malloc M_* types.phk1997-10-112-2/+6
| | | | Substantial input from: bde
* Change the M_NAMEI allocations to use the zone allocator. This changedyson1997-09-211-10/+10
| | | | | | | | plus the previous changes to use the zone allocator decrease the useage of malloc by half. The Zone allocator will be upgradeable to be able to use per CPU-pools, and has more intelligent usage of SPLs. Additionally, it has reasonable stats gathering capabilities, while making most calls inline.
* Convert select -> poll.peter1997-09-141-8/+19
| | | | | Delete 'always succeed' select/poll handlers, replaced with generic call. Flag missing vnode op table entries.
* Fix a type in a comment and remove some checks now done centrally.phk1997-09-101-10/+2
|
* Removed unused #includes.bde1997-09-023-9/+3
|
* Uncut&paste cache_lookup().phk1997-08-263-61/+7
| | | | | | | | | | | | | | | This unifies several times in theory indentical 50 lines of code. The filesystems have a new method: vop_cachedlookup, which is the meat of the lookup, and use vfs_cache_lookup() for their vop_lookup method. vfs_cache_lookup() will check the namecache and pass on to the vop_cachedlookup method in case of a miss. It's still the task of the individual filesystems to populate the namecache with cache_enter(). Filesystems that do not use the namecache will just provide the vop_lookup method as usual.
* Back out some incorrect changes that was worse than the original bug.dyson1997-08-261-3/+1
|
* This is a trial improvement for the vnode reference count while on the vnodedyson1997-08-221-2/+4
| | | | | | free list problem. Also, the vnode age flag is no longer used by the vnode pager. (It is actually incorrect to use then.) Constructive feedback welcome -- just be kind.
* Fix all areas of the system (or at least all those in LINT) to avoid storingwollman1997-08-161-3/+3
| | | | | | | | 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.
* Remove redundant check for vp == dvp (done in VFS before calling).phk1997-05-171-10/+1
|
* Get the declaration of `struct dirent' from <sys/dirent.h>, not frombde1997-04-101-5/+4
| | | | | | | | | <sys/dir.h>. Removed unused #include. Fixed type and order of struct members in pseudo-declaration of `struct vop_readdir_args'.
* Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.bde1997-03-231-2/+2
| | | | | Fixed everything that depended on getting fcntl.h stuff from the wrong place. Most things don't depend on file.h stuff at all.
* Restore the lost MNT_LOCAL flag twiddle. Lite2 has a different mechanismpeter1997-03-181-1/+3
| | | | | | | | | | | of setting it (compiled into vfs_conf.c), but we have a dynamic system in place. This could probably be better done via a runtime configure flag in the VFS_SET() VFS declaration, perhaps VFCF_LOCAL, and have the VFS code propagate this down into MNT_LOCAL at mount time. The other FS's would need to be updated, havinf UFS and MSDOSFS filesystems without MNT_LOCAL breaks a few things.. the man page rebuild scans for local filesystems and currently fails, I suspect that other tools like find and tar with their "local filesystem only" modes might be affected.
* Don't export kernel interfaces to applications. msdosfs_mount probablybde1997-03-031-1/+9
| | | | | | didn't compile before this change. Added idempotency ifdef.
* Updated msdosfs to use Lite2 vfs configuration and Lite2 locking. Itbde1997-02-265-130/+129
| | | | should now work as (un)well as before the Lite2 merge.
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-2212-12/+12
| | | | ready for it yet.
* Make this compile without warnings after the Lite2 merge:mpp1997-02-123-8/+8
| | | | | | | | | - *fs_init routines now take a "struct vfsconf * vfsp" pointer as an argument. - Use the correct type for cookies. - Update function prototypes. Submitted by: bde
* This is the kernel Lite/2 commit. There are some requisite userlanddyson1997-02-105-35/+48
| | | | | | | | | | | | | | | 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>
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-1412-12/+12
| | | | | | | | 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.
* Don't synchronously update the directory entry at the end of everybde1996-12-251-2/+2
| | | | | | | | successful write. Only do it for the IO_SYNC case (like ufs). On one of my systems, this speeds up `iozone 24 512' from 32K/sec (1/128 as fast as ufs) to 2.8MB/sec (7/10 as fast as ufs). Obtained from: partly from NetBSD
* Fixed an off by 1 error in unix2dostime(). The first day of each monthbde1996-12-041-2/+2
| | | | | was converted to the last day of the previous month. This bug was introduced in the optimizations in rev.1.4.
* MSDOS FS used to allocate a buffer before extending the VM object. Indyson1996-10-021-7/+9
| | | | | | certain error conditions, it is possible for pages to be left allocated in the object beyond it's end. It is generally bad practice to allocate pages beyond the end of an object.
* In sys/time.h, struct timespec is defined as:nate1996-09-192-6/+6
| | | | | | | | | | | | | | /* * Structure defined by POSIX.4 to be like a timeval. */ struct timespec { time_t ts_sec; /* seconds */ long ts_nsec; /* and nanoseconds */ }; The correct names of the fields are tv_sec and tv_nsec. Reminded by: James Drobina <jdrobina@infinet.com>
* Eliminated nested include of <sys/unistd.h> in <sys/file.h> in the kernel.bde1996-09-031-2/+2
| | | | | | | 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.
* bzero reserved field into directory entry, junk here causeache1996-07-281-1/+2
| | | | scandisk error under Win95
* The Great PC98 Merge.asami1996-06-144-4/+97
| | | | | | | | All new code is "#ifdef PC98"ed so this should make no difference to PC/AT (and its clones) users. Ok'd by: core Submitted by: FreeBSD(98) development team
* Moved the fsnode MALLOC to before the call to getnewvnode() so that thedg1996-06-121-3/+9
| | | | | | | | process won't possibly block before filling in the fsnode pointer (v_data) which might be dereferenced during a sync since the vnode is put on the mnt_vnodelist by getnewvnode. Pointed out by Matt Day <mday@artisoft.com>
* Fix adjkerntz expression priority.ache1996-04-051-3/+3
| | | | Make filetimes the same as DOS times for UTC cmos clock.
* Don't adjust file times for UTC clock to have the same timestampsache1996-04-051-4/+6
| | | | for DOS/FreeBSD.
* add a `Warning:' to the message saying that the root directory is not agpalmer1996-04-031-2/+2
| | | | | multiple of the clustersize in length to try and reduce the number of questions we get on the subject.
* Fix a bunch of spelling errors in the comment fields ofmpp1996-01-302-5/+5
| | | | a bunch of system include files.
* Eliminated many redundant vm_map_lookup operations for vm_mmap.dyson1996-01-191-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Speed up for vfs_bio -- addition of a routine bqrelse to greatly diminish overhead for merged cache. Efficiency improvement for vfs_cluster. It used to do alot of redundant calls to cluster_rbuild. Correct the ordering for vrele of .text and release of credentials. Use the selective tlb update for 486/586/P6. Numerous fixes to the size of objects allocated for files. Additionally, fixes in the various pagers. Fixes for proper positioning of vnode_pager_setsize in msdosfs and ext2fs. Fixes in the swap pager for exhausted resources. The pageout code will not as readily thrash. Change the page queue flags (PG_ACTIVE, PG_INACTIVE, PG_FREE, PG_CACHE) into page queue indices (PQ_ACTIVE, PQ_INACTIVE, PQ_FREE, PQ_CACHE), thereby improving efficiency of several routines. Eliminate even more unnecessary vm_page_protect operations. Significantly speed up process forks. Make vm_object_page_clean more efficient, thereby eliminating the pause that happens every 30seconds. Make sequential clustered writes B_ASYNC instead of B_DELWRI even in the case of filesystems mounted async. Fix a panic with busy pages when write clustering is done for non-VMIO buffers.
* Convert QUOTA to new-style option.wollman1996-01-051-16/+1
|
* Untangled the vm.h include file spaghetti.dg1995-12-072-2/+6
|
* Added prototypes.bde1995-12-034-5/+30
|
* Moved declarations for static functions to the correct place (not in abde1995-11-162-17/+23
| | | | header) and cleaned them up.
* Fixed getdirentries() on nfs mounted msdosfs's. No cookies were returnedbde1995-11-131-14/+3
| | | | | | | | for certain common combinations of directory sizes, cluster sizes, and i/o sizes (e.g., 4K, 4K, and 4K). The fix in rev. 1.21 was incomplete. Reviewed by: dfr Obtained from: party from NetBSD
* Introduced a type `vop_t' for vnode operation functions and usedbde1995-11-092-42/+44
| | | | | | | | | | | | | | | 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.
* missed one static thingie.phk1995-11-071-2/+2
|
* staticize private parts.phk1995-11-076-35/+35
|
* Pad out MSDOS boot block to 512 bytes (bugfix only)pst1995-10-311-2/+2
| | | | Submitted by: Andreas Haakh, ah@alman.RoBIN.de
* Second batch of cleanup changes.phk1995-10-294-79/+80
| | | | | This time mostly making a lot of things static and some unused variables here and there.
OpenPOWER on IntegriCloud