summaryrefslogtreecommitdiff
path: root/sys/isofs/udf
AgeCommit message (Collapse)Author
2014-07-12add a size argument to free. will be used soon, but for now default to 0.Ted Unangst
after discussions with beck deraadt kettenis.
2013-12-14Zero out dirent structures that will be copied out to avoid leaking garbagePhilip Guenther
in the padding or trailing name bytes. ok beck@ millert@ espie@
2013-09-22On return, uio_offset needs to be set to the offset of the first entryPhilip Guenther
not returned instead of the offset after that one. udf_uiodir() returns -1 when there isn't enough space for the next entry, so just break from the loop and return 0 in that case. Remove the bogus printf there now that this is handled correctly. problem reported by espie@
2013-09-17KNF - extraneous blank line snuck in during last commitMike Larkin
2013-08-30Fix handling of getdents() against UDF filesystems: d_off must be thePhilip Guenther
position after the entry, and seeking to just after the '.' or '..' entries requires special handling because they're fabricated. ok krw@
2013-08-16int overflow in sector calculation, broke UDF reads past 2GB. Diff promotesMike Larkin
sector to daddr_t before calculation to avoid overflow. ok deraadt@
2013-08-13Switch time_t, ino_t, clock_t, and struct kevent's ident and dataPhilip Guenther
members to 64bit types. Assign new syscall numbers for (almost all) the syscalls that involve the affected types, including anything with time_t, timeval, itimerval, timespec, rusage, dirent, stat, or kevent arguments. Add a d_off member to struct dirent and replace getdirentries() with getdents(), thus immensely simplifying and accelerating telldir/seekdir. Build perl with -DBIG_TIME. Bump the major on every single base library: the compat bits included here are only good enough to make the transition; the T32 compat option will be burned as soon as we've reached the new world are are happy with the snapshots for all architectures. DANGER: ABI incompatibility. Updating to this kernel requires extra work or you won't be able to login: install a snapshot instead. Much assistance in fixing userland issues from deraadt@ and tedu@ and build assistance from todd@ and otto@
2013-06-11final removal of daddr64_t. daddr_t has been 64 bit for a long enoughTheo de Raadt
test period; i think 3 years ago the last bugs fell out. ok otto beck others
2013-06-02Actually use the subsecond timestamp dataPhilip Guenther
ok deraadt@
2013-06-02repair and activate pathconf supportTheo de Raadt
ok guenther
2013-05-30CD filesystems don't do inode numbers >2^32, so use a smaller type internally,Philip Guenther
only using ino_t in the VFS layer APIs: vget, readdir, getattr. ok matthew@
2013-04-15Add an f_mntfromspec member to struct statfs, which specifies the name ofJoel Sing
the special provided when the mount was requested. This may be the same as the special that was actually used for the mount (e.g. in the case of a device node) or it may be different (e.g. in the case of a DUID). Whilst here, change f_ctime to a 64 bit type and remove the pointless f_spare members. Compatibility goo courtesy of guenther@ ok krw@ millert@
2013-03-28Handle the pathconf _PC_PATH_MAX, _PC_PIPE_BUF, _PC_ASYNC_IO,Philip Guenther
_PC_PRIO_IO, and _PC_SYNC_IO names in VOP_PATHCONF(), as they're fs-independent for us. Since we don't support latter three on any fs, we can also define the related _POSIX_{ASYNC,PRIO,SYNC}_IO symbols in <unistd.h> (via sys/unistd.h) with value -1. Also, zap pointless tty-only values from procfs(!). ok beck@, deraadt@
2013-03-23A small sprinking of #ifdef _KERNELTheo de Raadt
2013-03-23convert a DEV_BSHIFT use to DEV_BSIZE (this .h file is reused inTheo de Raadt
in userland by libkvm) ok sthen
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-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.
2011-07-07fix typos; while here, improve spacing in comments.Igor Sobrado
changes to libevent and zlib headers sent to the upstream maintainers. ok jmc@ (for typos), millert@
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-16Use 'CLR(<buf>->b_flags, B_READ | B_WRITE | B_DONE)' regardless ofKenneth R Westerback
what the previous IO was. Less chance of copy and paste errors. Suggested by miod@.
2011-04-15In days of yore one could arbitrarily whack buffer flags. Those daysKenneth R Westerback
are past. Use CLR() and SET() to modify necessary flags while leaving the flags used by the buffer cache in peace. Should make bufcache code much less confused about the state of the bufs used in reading/writing disklabels. Other such flag abuses no doubt await a visit. Errors in original diff found by miod@. ok beck@ deraadt@
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-09-10Backout the VOP diff until the issues naddy was seeing on alpha (gcc3)Thordur I. Bjornsson
have been resolved.
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-06-29makefstype was only used in ported from freebsd filesystems. fix themTed Unangst
and remove the function. ok thib
2009-12-23partion -> partition. First one (mkfs.c) noted by Brad Tilley on tech@.Kenneth R Westerback
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-08-27make UDF less chatty during normal operationJolan Luff
ok krw/phessler
2009-08-14First cut at UDF 2.[56] support, allowing read-only access to HDDVDKenneth R Westerback
and Blu-ray disks. Previously working DVDs should still work. Done at f2k9 with phessler@. Vnode bug squashing by beck@. Thanks to Bryan Brake for sending HDDVD/Blu-ray hardware and disks to f2k9 in Stockholm. ok beck@ dlg@ phessler@
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-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-06-05Update to Reinoud Zandijk's much more current version of ecma167-udf.hKenneth R Westerback
and make textual tweaks to .c files to keep them compiling. From NetBSD. No changes to .o's at this point.
2009-05-21The only value that d_npartitions should have is MAXPARTITIONS.Kenneth R Westerback
2009-05-14Reset b_flags rather than just OR'ing in B_READ and B_RAW whenKenneth R Westerback
re-using a buf. Taken from the kern/subr_disk.c readdoslabel() usage. Avoids a loop in disksort() caused by trying to queue a buffer that is already in cd->buf_queue. I can now 'disklabel cd0' with "Command & Conquer 3: Kane's Wrath" in the drive and not hang the system. Problem reported and fix tested by Jasper Valentij. Thanks!
2008-11-08fix potential null dereference.Charles Longeau
Found by LLVM/Clang Static Analyzer. ok krw@ pedro@
2008-07-23Correct cases of mishandling of pending reads and writes to preventBob Beck
them going negative - this consists of identifying a number of cases of IO not going through the buffer cache and marking those buffers with B_RAW - as well as fixing nfs_bio to show pending writes and reads through the buffer cache via NFS still has a problem with mishandling the counters I believe in the async/sync fallback case where counters stay positive which will be addressed seperately. ok tedu@ deraadt@
2008-06-14A bunch of pool_get() + bzero() -> pool_get(..., .. | PR_ZERO)Michael Knudsen
conversions that should shave a few bytes off the kernel. ok henning, krw, jsing, oga, miod, and thib (``even though i usually prefer FOO|BAR''; thanks for looking.
2008-06-12Bring biomem diff back into the tree after the nfs_bio.c fix went in.Theo de Raadt
ok thib beck art
2008-06-11back out biomem diff since it is not right yet. Doing very largeTheo de Raadt
file copies to nfsv2 causes the system to eventually peg the console. On the console ^T indicates that the load is increasing rapidly, ddb indicates many calls to getbuf, there is some very slow nfs traffic making none (or extremely slow) progress. Eventually some machines seize up entirely.
2008-06-10Fix buffer cache pending read statistics by ensuring we can identifyBob Beck
biowait() reads that do *not* come from the buffer cache - we use the B_RAW flag to identify these at art's suggestion - since it makes sense and the flag was not being used. this just flags all these buffers with B_RAW - biodone already ignores returned buffers marked B_RAW. ok art@
2008-06-10Buffer cache revampBob Beck
1) remove multiple size queues, introduced as a stopgap. 2) decouple pages containing data from their mappings 3) only keep buffers mapped when they actually have to be mapped (right now, this is when buffers are B_BUSY) 4) New functions to make a buffer busy, and release the busy flag (buf_acquire and buf_release) 5) Move high/low water marks and statistics counters into a structure 6) Add a sysctl to retrieve buffer cache statistics Tested in several variants and beat upon by bob and art for a year. run accidentally on henning's nfs server for a few months... ok deraadt@, krw@, art@ - who promises to be around to deal with any fallout
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@
2007-12-09update pedro's email address, at his request;Jason McIntyre
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().