summaryrefslogtreecommitdiffstats
path: root/sys/fs/msdosfs/direntry.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix races in msdosfs_lookup() and msdosfs_readdir(). These functionsbde2007-08-311-5/+12
| | | | | | | | | | | | | | | | | | | | | | | can easily block in bread(), and then there was nothing to prevent the static buffer (nambuf_{ptr,len,last_id}) being clobbered by another thread. The effects of the bug seem to have been limited to failed lookups and mangled names in readdir(), since Giant locking provides enough serialization to prevent concurrent calls to the functions that access the buffer. They were very obvious for multiple concurrent tree walks, especially with a small cluster size. The bug was introduced in msdosfs_conv.c 1.34 and associated changes, and is in all releases starting with 5.2. The fix is to allocate the buffer as a local variable and pass around pointers to it like "_r" functions in libc do. Stack use from this is large but not too large. This also fixes a memory leak on module unload. Reviewed by: kib Approved by: re (kensmith)
* Replace slightly crummy fattime<->timespec conversion functions.phk2006-10-241-3/+0
|
* Do not assume that `char direntry::deExtension[3]' starts right afterfjoe2006-01-221-1/+1
| | | | | | | `char direntry::deName[8]' and access deExtension[] explicitly. Found by: Coverity Prevent(tm) CID: 350, 351, 352
* /* -> /*- for copyright notices, minor format tweaks as necessaryimp2005-01-061-1/+1
|
* Use size_t or ssize_t wherever appropriate instead of casting from int *tjr2004-02-191-5/+5
| | | | | | | to size_t *, which is incorrect because they may have different widths. This caused some subtle forms of corruption, the mostly frequently reported one being that the last character of a filename was sometimes duplicated on amd64.
* Fixed some style bugs in previous commit. Mainly, forward-declarebde2003-09-271-15/+21
| | | | | | | | | | struct msdosfsmount so that this file has the same prerequisites as it used to. The new prerequistite was a meta-style bug. It required many style bugs (unsorted includes ...) elsewhere. Formatted prototypes in KNF. Resisted urge to sort all the prototypes, to minimise differences with NetBSD. (NetBSD has reformatted the prototypes but has not sorted them and still uses __P(()).)
* - Support for multibyte charsets in LIBICONV.fjoe2003-09-261-6/+14
| | | | | | | | - CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options (with corresponding modules). - kiconv(3) for loadable charset conversion tables support. Submitted by: Ryuichiro Imura <imura@ryu16.org>
* Remove __P.alfred2002-03-191-11/+11
|
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"peter1999-12-291-2/+2
| | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Support NT VFAT lower case flags.dt1998-11-211-2/+4
| | | | | PR: 8383 (Mostly) Submitted by: Carl Mascott <cmascott@world.std.com>
* Fixes for some bugs in the VFAT/FAT32 support:msmith1998-02-261-1/+2
| | | | | | | | | | | | - 'mv longnamedfile1 longnamedfile2' would cause longnamedfile2 to lose its long name. - Long names have trailing spaces/dots stripped for lookup as well as assignment. - A lockup when the mdsosfs was accessed from within the Linux emulator is fixed. - A bug whereby long filenames were recognised by Microsoft operating systems but not FreeBSD is fixed. Submitted by: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
* Back out "always view in lowercase" partache1998-02-241-3/+3
| | | | Return to previous variant "comparing in lowercase" in winChkName
* Implement loadable DOS<->local conversion tables for DOS namesache1998-02-231-6/+6
| | | | | Always create DOS name in uppercase Always view DOS name in lowercase
* Implement loadable upper->lower local conversion tableache1998-02-231-3/+3
|
* Reduce new arguments number added in my changesache1998-02-221-4/+4
|
* Add Unicode support to winChkName, now lookup works!ache1998-02-221-2/+2
|
* Implement loadable local<->unicode file names conversionache1998-02-221-3/+3
| | | | | | Note: it produce correct names only for Win95, DOS names are still incorrect and need similar work mount_msdos support coming soon
* Update MSDOSFS code using NetBSD's msdosfs as a guide to supportjkh1998-02-181-26/+62
| | | | | | | | | | | FAT32 partitions. Unfortunately, we looked around here at Walnut Creek CDROM for any newer FAT32-supporting versions of Win95 and we were unsuccessful; only the older stuff here. So this is untested beyond simply making sure it compiles and someone with access to an actual FAT32 fs will have to let us know how well it actually works. Submitted by: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru> Obtained from: NetBSD
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | 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.
* Remove trailing whitespace.rgrimes1995-05-301-5/+5
|
* Added msdosfs.dfr1994-09-191-0/+104
Obtained from: NetBSD
OpenPOWER on IntegriCloud