summaryrefslogtreecommitdiffstats
path: root/sys/msdosfs
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Moved the filesystem read-only check out of the syscalls and into thedg1995-10-221-101/+108
| | | | | | | | filesystem layer, as was done in lite-2. Merged in some other cosmetic changes while I was at it. Rewrote most of msdosfs_access() to be more like ufs_access() and to include the FS read-only check. Obtained from: partially from 4.4BSD-lite2
* Return EINVAL instead of panicing for rename("dir1", "dir2/..").bde1995-10-071-2/+3
| | | | | | Fixes part of PR 760. This bug seems to be very old.
* Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block countdyson1995-09-041-1/+5
| | | | for VOP_BMAP. Updated affected filesystems...
* Fix bogus arg (&p instead of p) in the call to VOP_ACCESS() frombde1995-08-251-2/+2
| | | | msdosfs_setattr(). The bug was benign because the arg isn't used.
* Make sure that a non-null cookie vector is returned even if there were nodfr1995-08-031-1/+9
| | | | valid entries in the block. Doing otherwise confuses the nfs server.
* Add support for the va_filerev attribute required by NFSv3.dfr1995-08-023-3/+24
|
OpenPOWER on IntegriCloud