Commit Graph

190 Commits

Author SHA1 Message Date
reinoud
91d6e78060 Fix endian related bug when using discs with a meta-data partition on
big-endian machines.
2009-04-21 16:19:00 +00:00
elad
386808d4a0 Refactor some duplicated file-system code.
Proposed and received no objections on tech-kern@:

	http://mail-index.netbsd.org/tech-kern/2009/04/18/msg004843.html
2009-04-20 18:06:26 +00:00
reinoud
b9f5db933c Fix possible overshoot when allocating from a space bitmap when ffs(3) returns
a too big offset for the bitmap.
2009-03-25 20:04:52 +00:00
reinoud
a3665ba58f Fix panic due to memory leak on symlink creation. A test copy with 3000+
symlinks could get the machine down.
2009-03-20 23:06:52 +00:00
cegger
c363a9cb62 bzero -> memset 2009-03-18 16:00:08 +00:00
cegger
df7f595ecd Ansify function definitions w/o arguments. Generated with sed. 2009-03-18 10:22:21 +00:00
dsl
82357f6d42 ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
2009-03-14 21:04:01 +00:00
dsl
02cdf4d2c8 Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
2009-03-14 14:45:51 +00:00
yamt
b9a7e1db53 udf_write_filebuf: remove an write-only variable 2009-02-22 15:26:51 +00:00
reinoud
193ccd2d90 Improve write throttling by doing it on page-size basis. The `standard'
solution would cut up files unnessisary during allocation. It also made
assumptions about ucb wich were propably right but still.
2009-02-11 13:08:08 +00:00
reinoud
78466aa1e7 Add simplistic UBC async flushing as other FS's seem to do. Its a clutch and
needs to be addressed in UBC properly.
2009-02-10 21:24:27 +00:00
reinoud
afd8cb8795 Remove dead code and double check if its allowed to write out non-sequential
there.
2009-02-10 17:49:02 +00:00
reinoud
a02b732e06 Sequential writing goes before normal write. Its not likely to ever go wrong
but there could be a race otherwise.
2009-02-10 17:48:19 +00:00
reinoud
9609b0ed76 Implement session closure on sequential media when requested on mount. It will
allow CD-ROM/DVD-ROM/DB-ROM drives to read the media while still allowing them
to be appended later. It can also be seen as a way to make mountable
snapshots.
2009-02-08 19:14:52 +00:00
reinoud
2ac9ba8c48 If mounting for read-write dont allow a session number to be specified since
its currently still misbehaving. If supported later, it would allow one or a
series of sessions on a sequential recordable media to be ignored as if they
never were created.

Also fix a small comment: its not the direct but the bootstrap disc strategy
that we close down.
2009-02-08 19:04:41 +00:00
pooka
6b5b1701a9 Specify BROKEN DIRECTORY ENTRY printf comes from udf
(can happen e.g. with medium error)
2009-02-05 19:39:08 +00:00
yamt
70de973662 g/c BUFQ_FOO() macros and use bufq_foo() directly. 2009-01-13 13:33:58 +00:00
cegger
dcf705893e use M_ZERO on malloc() and remove subsequent bzero(). 2008-12-19 18:49:37 +00:00
reinoud
f4d0142196 Implement auto-track repair on tracks marked damaged when searching for
writable tracks on session opening. Note that this an optionally implemented
feature and thus no error will be generated if it fails; the drive will most
likely autorepair it.
2008-12-18 15:41:44 +00:00
reinoud
e2d4b2a7ea Fix critital panic when mounting a CD-R/DVD*R disc. The check for VV_ROOT was
not done correctly and could panic when requested to load a VAT descriptor
since the fileset was not yet fetched.
2008-12-18 13:03:49 +00:00
christos
9a5d3f2817 replace bitmask_snprintf(9) with snprintb(3) 2008-12-16 22:35:21 +00:00
reinoud
62c3c2d194 Check for a node being root on node creation so when the root node is disposed
of when working deep into the directory tree it can reliably be reget and
marked correctly as the FS root.

Fixed pwd(1) lock panic and possible endless loop in other tools.
2008-12-16 16:27:05 +00:00
pooka
81723cc93e The great QUOTA purge of '08: get rid of those #ifdef QUOTA and
#include "opt_quota.h" which do exactly nothing.  Speeds up kernel
compilation by 1.375*10^-20001 seconds.  But leave the most moxious
comment in msdosfs_vfsops untouched.
2008-12-16 16:18:25 +00:00
reinoud
0be5b3fe22 Fix endless loop occuring on empty directories listing on 512 bytes/sector
media like harddiscs. Also provide provide a `safety net' on readdir so it
will signal EOF when its requested an entry outside the directory.
2008-12-16 14:28:34 +00:00
reinoud
42dbf4bb33 Elaborate SYNC debug messages and rename some debug messages to a more
proper category.
2008-12-16 10:30:19 +00:00
reinoud
cadb068686 Fix two buf_init()'s that are not needed since they were already initialised
by getiobuf().

Also remove ancient IPL_BIO reference from the time it was called from
interrupt context instead of the current soft interrupt.
2008-12-09 17:17:02 +00:00
reinoud
ab146a4768 UDF_SHED_FREE state is now also handled by the state machine, so DO signal it.
Free'd up ecclines can now far more quicker be recycled.
2008-12-06 14:02:08 +00:00
reinoud
9b08c3c516 Two fold commit:
1) Enhance write speed significantly on RMW media like CD-RW, DVD-RW but also
on the DVD+RW and all other ECC blocked media. Significant speedups of access
to the device for say compilation on the DVD. Streaming copy is also still at
maximum speed though vast amounts of directory copy work can show side effects
that appear it to slow down but are actually logical when you consider that
most small files are embedded into the descriptors itself.

2) explicit wait for the created RMW thread to spinup
2008-12-05 13:19:42 +00:00
reinoud
4b1a812950 Split uid/gid remapping code to be independent of eachother. 2008-12-01 14:19:01 +00:00
reinoud
df11d3f1f5 Allow for the exclusive selection of `direct' for rdonly mounts; its disabled
for now since its a lot slower than `rmw' access.

For archs that have trouble with `rmw' for whatever reason can so use it as a
scapegoat to allways mount savely rdonly though slower.
2008-11-28 15:29:47 +00:00
reinoud
273d4a49cd Remove old comment and remove unused calculated variable 2008-11-28 14:33:36 +00:00
pooka
b4099c3e1d Rototill all remaining file systems to use ubc_uiomove() instead
of the ubc_alloc() - uiomove() - ubc_release() dance.
2008-11-26 20:17:33 +00:00
reinoud
a597e786dd Specify blobsize as the `pagingsize' of the eccline blob pool. This will relax
the requirements of the pagingsize.
2008-11-15 18:26:50 +00:00
reinoud
69f1577429 Introduce an extra state to wich all pushed ecclines are pushed on. This
extra state has a holding time in wich no writeouts will be done
effectively collecting more sectors before its even sheduled for writing.
2008-11-01 23:51:25 +00:00
reinoud
e9d599f49d Explicitly set buffer's block numbers. Blocks were always read/written
correctly only the sheduling could go less than optimal.
2008-11-01 19:50:32 +00:00
reinoud
3e0547f2dd Fix to prevent a closed sequential media to be opened for read/write. 2008-10-29 18:09:47 +00:00
reinoud
1bd1646ad6 Switch UDF over to the vfs_dirhash.c dirhash code. 2008-09-27 13:05:34 +00:00
reinoud
c25ced8779 Remove all remaining traces of UDF_READWRITE since it has been removed as
option.
2008-08-29 15:04:18 +00:00
reinoud
17f11577de forgot to destroy an additional mutex and an condition variable. 2008-08-29 13:55:45 +00:00
reinoud
b887c39003 Remove the need for the kernel option UDF_READWRITE to be able to write to
discs since writing is mature enough.
2008-08-08 18:25:56 +00:00
reinoud
c3d5fdb471 Don't panic on read-errors but set flag that the packet is doomed. Its not
clear if i could read the individual sectors correctly since the entire
read packet is also one big ECC block.
2008-08-07 15:54:12 +00:00
reinoud
a287d23dee Rewrite allocation scheme's determination and implementation replacing the
old somewhat naive selection scheme that didn't allow different allocation
settings for nodes, directory information (FIDs) and data.

Also fix some curious side-effects of atime updates on RMW devices.
2008-08-06 13:41:12 +00:00
reinoud
5e89a5a8f1 Fixup important bug in internal recorded data fixup. Although most unlikely
it could result in theory result in descriptor trashing.

On the performance side, it would try to fixup *every* descriptor even if
it wasn't an internally allocated one. Performance loss wasn't that big but
every bit helps.
2008-08-05 19:29:54 +00:00
reinoud
17cb09d3ee Remove comments on `need to read in'; they are read in. 2008-07-29 10:08:16 +00:00
reinoud
71c9aa3395 Streamline allocation to prepare it for metadata partition. Also add
preliminary Metadata partition write support but its disabled still since
its not finished yet and not functioning correctly. All other formats are
checked and should work fine.
2008-07-28 19:41:13 +00:00
reinoud
7ac1927ba2 Delay physical partition spacebitmaps from volume-descriptor-checking until
the other supporting structures are read in.
2008-07-27 11:38:23 +00:00
reinoud
5c3627bcdf Unify naming scheme and source code beautify for better readablility. 2008-07-27 11:21:21 +00:00
reinoud
4e0493c8f8 Forgot to rename those two references to write_space_bitmap too. 2008-07-26 20:52:04 +00:00
reinoud
8f7887a864 Clarify the current spacemap read/write code is reading/writing physical
partition space maps. This in preperation of Metadata spacetable
reading/writeout work.
2008-07-26 20:49:33 +00:00
reinoud
3653a53255 Clarify not implemented allocation schemes; mostly UDF 2.50
HD-DVD/BluRay-RE and UDF 2.60 for BluRay-R
2008-07-26 20:33:36 +00:00