summaryrefslogtreecommitdiff
path: root/sys/msdosfs
AgeCommit message (Collapse)Author
2012-09-10Cleanup VFS mount string handling:Joel Sing
- Avoid using copyinstr() without checking the return value. - sys_mount() has already copied the path in, so pass this to the filesystem mount code so that it does not have to copy it in again. - Avoid copyinstr()/bzero() dance when we can simply bzero() and strlcpy(). ok krw@
2012-09-06Remove the need to occasionally treat dos file names as strings byKenneth R Westerback
using "%.11s" to print them out. Make all dos file names 11 byte arrays and nuke the attempt to put '\0' at the 12th position of such an array. Fixes 'panic: smashed stack in msdosfs_rename.c' reported by MERHIGI Marcus via tech@. Tested by MERHIGI Marcus. Suggestions and ok tedu@.
2012-07-11If the current offset is strictly less than the process filesizePhilip Guenthe
rlimit, then a write that would take it over the limit should be clamped, making it a partial write. ok beck@
2012-06-20Cleanup our filesystem pathconf() code a little bit to make it easierMatthew Dempsky
to diff against FreeBSD's. From Brad; no object file change on amd64.
2012-04-05As it was made evident by Olaf 'Rhialto' Seibert in the NetBSD PR 34583,Mike Belopuhov
caching the last cluster in the file before extending it considerably speeds up further lookups. As a consequence this keeps write speed from gradually decreasing and provides a measurable (up to 2x) performance increase. Prompted by the diff from Alexander Polakov, ok miod, krw.
2012-02-16add kevent support for msdosfs to make applicationsRobert Nagy
monitoring fs mounts happy tested by ajacoutot@ and ok by thib@, krw@
2011-07-04move the specfs code to a place people can see it; ok guenther thib krwTheo de Raadt
2011-07-04bread does nothing with its ucred argument. remove it. ok matthewTed Unangst
2011-04-05Every single vop_default is set to eopnotsupp, so retire itThordur I. Bjornsson
and return EOPNOTSUPP directly from the VOP_* functions. Filesystems should, at some point fill in every function in the vop_default struct so we can get rid of the 'if' statements in VOP_*.
2010-12-21Bring back the "End the VOP experiment." diff, naddy's issues whereThordur I. Bjornsson
unrelated, and his alpha is much happier now. OK deraadt@
2010-11-17Teach msdosfs_mount() how to handle disklabel UIDs.Joel Sing
2010-10-27improve the look of a for loopTheo de Raadt
2010-09-23Change:Owain Ainsworth
/* something */ if (error) { VOP_UNLOCK(); return; } VOP_UNLOCK(); to the clearer and shorter: VOP_UNLOCK(); if (error) return; ok thib@, jsing@ as part of a larger diff.
2010-09-10Backout the VOP diff until the issues naddy was seeing on alpha (gcc3)Thordur I. Bjornsson
have been resolved.
2010-09-09Rename lookup/relookup to vfs_lookup/vfs_relookup.Thordur I. Bjornsson
OK oga@, beck@, matthew@
2010-09-06End the VOP experiment. Instead of the ridicolusly complicated operationThordur I. Bjornsson
vector setup that has questionable features (that have, as far as I can tell never been used in practice, atleast not in OpenBSD), remove all the gunk and favor a simple struct full of function pointers that get set directly by each of the filesystems. Removes gobs of ugly code and makes things simpler by a magnitude. The only downside of this is that we loose the vnoperate feature so the spec/fifo operations of the filesystems need to be kept in sync with specfs and fifofs, this is no big deal as the API it self is pretty static. Many thanks to armani@ who pulled an earlier version of this diff to current after c2k10 and Gabriel Kihlman on tech@ for testing. Liked by many. "come on, find your balls" deraadt@.
2010-07-17Move some macros in <msdosfs/denode.h> to outside the #ifdef _KERNELPhilip Guenthe
so that libkvm doesn't need to define that, thereby avoiding some warnings. ok miod@
2010-05-16Make the DE_INTERNALIZE/EXTERNALIZE macros copy to/from the structNicholas Marriott
direntry deName[8]/deExtension[3] buffers separately rather than in one 11 byte copy. Makes gcc4 -Wbounded happy. ok krw
2010-03-29Initialize various uninitialized variables. Found by jsg@ via Clang.Kenneth R Westerback
Feedback from miod@ and kettenis@. ok beck@
2010-01-24"Fix" crash caused by FAT32 re-use of small buf from buffer cache,Kenneth R Westerback
at least until problem (starting somewhere between 4.1 and 4.2) in buffer cache is found and a general fix is in place. Simply B_INVAL small buf so it doesn't come back. Addresses PR#6290, confirmed by submitter RD Thrush. ok tedu@ "should be marked XXX" thib@
2010-01-17Remove dead assignment and newly created unused variable.Charles Longeau
Found by LLVM/Clang Static Analyzer. ok tedu@ krw@
2009-12-19Re-introduce the remaining bits of thib@'s Aug 2006 VOP_CLOSE()Kenneth R Westerback
locking fixes. Tweak cd9660 code to be the same as everywhere else, no functional change. ok beck@
2009-10-31Use suser when possible. Suggested by miod@.Federico G. Schwindt
miod@ deraadt@ ok.
2009-08-30lock the vnode before calling VOP_CLOSE() in msdofs_unmount().Thordur I. Bjornsson
ok krw@
2009-08-14- deregister; no binary changeJasper Lievisse Adriaanse
ok thibski@
2009-08-13- ansify function declarations, no binary changeJasper Lievisse Adriaanse
"fine" thib@
2009-08-13- remove super-obvious comments from $fs_vnodeop_entries[]Jasper Lievisse Adriaanse
prodded by and ok thib@ agreed by art@ and blambert@
2009-08-13- missing printf("\n"); after calling lockmgr_printinfo()Jasper Lievisse Adriaanse
"do it" thib@
2009-08-09indicate success for setting directory attributes; first step towardsMartynas Venckus
making directory moves work... discussed w. & makes sense - millert@
2009-07-09Remove the VREF() macro and replaces all instances with a call to verf(),Thordur I. Bjornsson
which is exactly what the macro does. Macro's that are nothing more then: #define FUNCTION(arg) function(arg) are almost always pointless and should go away. OK blambert@ Agreed by many.
2009-01-05The FAT32 fsinxtfree field is advisory in nature and we don't useKenneth R Westerback
it. So leave it untouched. Similiar to but more ruthless than the fixes FreeBSD did, since they do use the value. Basically avoid various off-by-one and off-by-many errors. Fixes problems encountered by jsg@ and deraadt@ where filesystems found on SDHC cards caused UVM faults. Original fixes found by jsg@. ok jsg@.
2008-06-09Update access(2) to have modern semantics with respect to X_OK andTodd C. Miller
the superuser. access(2) will now only indicate success for X_OK on non-directories if there is at least one execute bit set on the file. OK deraadt@ thib@ otto@
2008-05-08retire vn_default_error() and replace all instancesThordur I. Bjornsson
with eopnotsupp() instead; ok blambert@
2008-01-13Return pcbmap() errors from deget() rather than ignoring them. EIO atKenneth R Westerback
least has been seen from ian@'s new iPod, causing inappropriate mounting. ok miod@
2007-11-27typos; ok jmc@Martynas Venckus
sys/dev/pci/pciide.c from naddy@
2007-11-26Fix jsg@'s iRiver Clix by relaxing the test for SecPerTrack to allowKenneth R Westerback
64 instead of 63. deraadt@, weingart@, millert@, thib@, miod@ ok with eliminating test entirely but tom@'s voice of caution wins out for the quick commit. Tested by jsg@ to confirm it fixes his device.
2007-11-15read boot sector as 4K block, because of new ipod nanoTheo de Raadt
from Alexey Vatchenko; ok tom
2007-10-29MALLOC/FREE -> malloc/freeCharles Longeau
ok krw@
2007-10-06Oops. Forgot to do FREE -> free when I did MALLOC -> malloc.Kenneth R Westerback
2007-10-03MALLOC+bzero -> malloc+M_ZERO.Kenneth R Westerback
In ip_esp.c all allocated memory is now zero'd in the "malloc(sizeof(*tc) + alen ..." case. The +alen memory was not initialized by the bzero() call. Noticed by chl@. "Looks good" art@ "seems ok" chl@
2007-09-17Only the most obvious bzero() -> M_ZERO changes. No cast changes, noKenneth R Westerback
MALLOC/FREE, etc. Just adding M_ZERO to malloc() and deleting an immediately adjacent bzero().
2007-06-02convert all daddr_t types to either daddr64_t or uint32_t or other suchTheo de Raadt
things based on their use. ok with fixes from tom, tested by grange too
2007-06-01pedro ok'd this ~3500 line diff which removes the vop argumentTheo de Raadt
"ap = v" comments in under 8 seconds, so it must be ok. and it compiles too.
2007-04-11Remove the simplelock argument from vrecycle();Thordur I. Bjornsson
ok pedro@, sturm@
2007-04-10When doing a rename and finding out the destination name alreadyPedro Martelletto
exists, keep the containing directory's long name capabilities. From NetBSD via Enache Adrian, okay millert@.
2007-04-02When running out of space to place a directory entry in msdosfs_readdir(),Pedro Martelletto
save the correct offset in case the directory has support for long file names, and return it to the caller so she can proceed from a valid point. From Alexey Vatchenko, okay tedu@.
2007-03-21Remove the v_interlock simplelock from the vnode structure.Thordur I. Bjornsson
Zap all calls to simple_lock/unlock() on it (those calls are #defined away though). Remove the LK_INTERLOCK from the calls to vn_lock() and cleanup the filesystems wich implement VOP_LOCK(). (by remvoing the v_interlock from there calls to lockmgr()). ok pedro@, art@, tedu@
2007-03-18get rid of noop vop_reallocblks; pedro@ miod@ okMichael Shalayeff
2007-01-16Retire VOP_LEASE(); It was a bit for NQNFS and hasThordur I. Bjornsson
effectively been a no-op for quite some time now, without promise for future usage. ok pedro@ Testing by krw@ (earlier diff) and Johan Mson Lindman (tybollt@solace.miun.se)
2006-12-16Adopt FreeBSD's code for non-DEV_BSIZE formatted MSDOSFS filesystems.Kenneth R Westerback
Enables devices (e.g. newer iPods, various other mp3 players) that use 2048 byte sectors. Inspired by original diffs from weingart@ and Alexey Vatchenk. ok tom@ pedro@ deraadt@ weingart@ marco@