History log of /src/sys/fs/udf/udf_strat_rmw.c |
Revision | | Date | Author | Comments |
1.31 |
| 27-Jun-2023 |
reinoud | Convert UDF file system code from the depricated tsleep(9)/wakeup(9) to the MP friendly condvar(9). No functional change intended.
|
1.30 |
| 15-Jan-2022 |
msaitoh | s/adressing/addressing/
|
1.29 |
| 21-Aug-2021 |
andvar | s/helt/held+s/eroneously/erroneously/+s/splitted/split/+s/recommented/recommended/
|
1.28 |
| 24-May-2016 |
reinoud | Cleanup VAT writout. To prevent issues with the sequential writing strategy trying to write on blocks that are lost due to the synchronisation, don't just bluntly do synchronize device caches, but split out on strategies.
|
1.27 |
| 06-Oct-2015 |
hannken | Remove dubious vhold()/holdrele() from write_logvol_dscr strategies.
The udf_node already gets locked with UDF_LOCK_NODE() and udf_reclaim() will wait for the lock to clear.
|
1.26 |
| 12-Sep-2015 |
christos | diagused some variables.
|
1.25 |
| 12-Sep-2015 |
christos | remove identity assignment, found by brainy.
|
1.24 |
| 30-Oct-2013 |
mrg | branches: 1.24.6; used __diagused where appropriate.
|
1.23 |
| 18-Oct-2013 |
christos | fix unused variable warnings
|
1.22 |
| 08-Jul-2009 |
reinoud | branches: 1.22.12; 1.22.22; 1.22.26; Fix alternating oddity in RMW strategy. Even when in the reading state it would push out elements to fillup-read only when the time had come for them. This could then trickle feed the read queue slowly, but fast enough to prevent it from switching state.
|
1.21 |
| 06-Jul-2009 |
reinoud | Re-implement read-modify-write backend strategy. This version is a lot more clean locking-wise and will consume less CPU power on needless moving-around.
|
1.20 |
| 02-Jul-2009 |
reinoud | Enhance dumping on buffer screwup. Also prevent races or invalid combinations to exist for ecclines.
|
1.19 |
| 20-May-2009 |
reinoud | Retire IN_CALLBACK_ULK flagging since its not used anymore and the old assertions on it would trigger without cause.
|
1.18 |
| 08-Feb-2009 |
reinoud | branches: 1.18.2; 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.
|
1.17 |
| 13-Jan-2009 |
yamt | g/c BUFQ_FOO() macros and use bufq_foo() directly.
|
1.16 |
| 16-Dec-2008 |
pooka | 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.
|
1.15 |
| 09-Dec-2008 |
reinoud | 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.
|
1.14 |
| 06-Dec-2008 |
reinoud | 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.
|
1.13 |
| 05-Dec-2008 |
reinoud | 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
|
1.12 |
| 15-Nov-2008 |
reinoud | Specify blobsize as the `pagingsize' of the eccline blob pool. This will relax the requirements of the pagingsize.
|
1.11 |
| 01-Nov-2008 |
reinoud | 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.
|
1.10 |
| 01-Nov-2008 |
reinoud | Explicitly set buffer's block numbers. Blocks were always read/written correctly only the sheduling could go less than optimal.
|
1.9 |
| 29-Aug-2008 |
reinoud | branches: 1.9.2; 1.9.4; Remove all remaining traces of UDF_READWRITE since it has been removed as option.
|
1.8 |
| 07-Aug-2008 |
reinoud | 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.
|
1.7 |
| 06-Aug-2008 |
reinoud | 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.
|
1.6 |
| 28-Jul-2008 |
reinoud | 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.
|
1.5 |
| 07-Jul-2008 |
reinoud | Support for allocation extents descriptor writing to allow for arbitrary heavily fragmented files.
Also fixing some (rare) allocation bugs and function name streamlining.
Tested on harddisc, CD-RW and CD-R i.e. all three basic backend classes.
|
1.4 |
| 17-Jun-2008 |
reinoud | branches: 1.4.2; 1.4.4; Change comments on marking buffer busy.
|
1.3 |
| 15-May-2008 |
reinoud | branches: 1.3.2; 1.3.4; 1.3.6; 1.3.8; Introduce new UDF debug class and split rmw strategy debugging prints.
|
1.2 |
| 15-May-2008 |
reinoud | Add accidently removed lines when i pruned the code for release. Important update.
|
1.1 |
| 14-May-2008 |
reinoud | Import writing part of the UDF file system making optical media like CD's and DVD's behave like floppy discs. Writing is supported upto and including version 2.01; version 2.50 and 2.60 will follow.
Also extending the UDF implementation to support symbolic links and hardlinks.
Added are the mmcformat(8) tool to format rewritable CD/DVD discs and newfs_udf(8).
Limitations: all operations can be performed on the file system though the sheduling is currently optimised for archiving workloads.
mv(1)/rename(2) is currently only implemented for non-directories.
|
1.3.8.3 |
| 31-Jul-2008 |
simonb | Sync with head.
|
1.3.8.2 |
| 18-Jul-2008 |
simonb | Sync with head.
|
1.3.8.1 |
| 18-Jun-2008 |
simonb | Sync with head.
|
1.3.6.5 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.3.6.4 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.3.6.3 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.3.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.3.6.1 |
| 15-May-2008 |
mjf | file udf_strat_rmw.c was added on branch mjf-devfs2 on 2008-06-02 13:24:06 +0000
|
1.3.4.2 |
| 18-May-2008 |
yamt | sync with head.
|
1.3.4.1 |
| 15-May-2008 |
yamt | file udf_strat_rmw.c was added on branch yamt-pf42 on 2008-05-18 12:35:06 +0000
|
1.3.2.5 |
| 18-Jul-2009 |
yamt | sync with head.
|
1.3.2.4 |
| 20-Jun-2009 |
yamt | sync with head
|
1.3.2.3 |
| 04-May-2009 |
yamt | sync with head.
|
1.3.2.2 |
| 16-May-2008 |
yamt | sync with head.
|
1.3.2.1 |
| 15-May-2008 |
yamt | file udf_strat_rmw.c was added on branch yamt-nfs-mp on 2008-05-16 02:25:21 +0000
|
1.4.4.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.4.4.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.4.2.3 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.4.2.2 |
| 23-Jun-2008 |
wrstuden | Add files to branch that were added on -current.
After this, all that's left of update is to merge some changes that had conflicts.
|
1.4.2.1 |
| 17-Jun-2008 |
wrstuden | file udf_strat_rmw.c was added on branch wrstuden-revivesa on 2008-06-23 05:02:14 +0000
|
1.9.4.10 |
| 09-Jul-2009 |
snj | Pull up following revision(s) (requested by reinoud in ticket #853): sys/fs/udf/udf_strat_rmw.c: revision 1.22 Fix alternating oddity in RMW strategy. Even when in the reading state it would push out elements to fillup-read only when the time had come for them. This could then trickle feed the read queue slowly, but fast enough to prevent it from switching state.
|
1.9.4.9 |
| 09-Jul-2009 |
snj | Apply patch (requested by reinoud in ticket #852): Numerous UDF improvements: - a much saner rmw backend - free space management done right - the high system time usage when encountering huge numbers of nodes are a thing of the past due to refactoring - various small fixes
|
1.9.4.8 |
| 01-Jun-2009 |
liamjfoy | Pull up following revision(s) (requested by reinoud in ticket #772): sys/fs/udf/udf_strat_rmw.c: revision 1.19 sys/fs/udf/udf_strat_sequential.c: revision 1.10 sys/fs/udf/udf_strat_direct.c: revision 1.10 sys/fs/udf/udf_subr.c: revision 1.90 sys/fs/udf/udf_subr.c: revision 1.91 Descriptor version is 16 bit and not 8 so use udf_rw16() to access them. UniqueID was written in the logical volume integrity without byteswapping for bigendian machines.
Retire IN_CALLBACK_ULK flagging since its not used anymore and the old assertions on it would trigger without cause.
|
1.9.4.7 |
| 18-Feb-2009 |
snj | branches: 1.9.4.7.4; Pull up following revision(s) (requested by reinoud in ticket #447): sys/fs/udf/udf.h: revision 1.30 sys/fs/udf/udf_readwrite.c: revision 1.10 sys/fs/udf/udf_strat_direct.c: revision 1.8 sys/fs/udf/udf_strat_rmw.c: revision 1.18 sys/fs/udf/udf_strat_sequential.c: revision 1.8 sys/fs/udf/udf_subr.c: revision 1.85 sys/fs/udf/udf_subr.h: revision 1.13 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.
|
1.9.4.6 |
| 10-Dec-2008 |
snj | Pull up following revision(s) (requested by reinoud in ticket #174): sys/fs/udf/udf_strat_rmw.c: revision 1.15 sys/fs/udf/udf.h: revision 1.29 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.
|
1.9.4.5 |
| 10-Dec-2008 |
snj | Pull up following revision(s) (requested by reinoud in ticket #174): sys/fs/udf/udf_strat_rmw.c: revision 1.14 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.
|
1.9.4.4 |
| 06-Dec-2008 |
snj | Pull up following revision(s) (requested by reinoud in ticket #167): sys/fs/udf/udf.h: revision 1.28 sys/fs/udf/udf_strat_rmw.c: revision 1.13 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
|
1.9.4.3 |
| 27-Nov-2008 |
snj | Pull up following revision(s) (requested by reinoud in ticket #133): sys/fs/udf/udf_strat_rmw.c: revision 1.12 Specify blobsize as the `pagingsize' of the eccline blob pool. This will relax the requirements of the pagingsize.
|
1.9.4.2 |
| 02-Nov-2008 |
snj | Pull up following revision(s) (requested by reinoud in ticket #8): sys/fs/udf/udf_strat_rmw.c: revision 1.11 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.
|
1.9.4.1 |
| 02-Nov-2008 |
snj | Pull up following revision(s) (requested by reinoud in ticket #6): sys/fs/udf/udf_strat_rmw.c: revision 1.10 Explicitly set buffer's block numbers. Blocks were always read/written correctly only the sheduling could go less than optimal.
|
1.9.4.7.4.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.9.2.2 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.9.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.18.2.1 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.22.26.1 |
| 18-May-2014 |
rmind | sync with head
|
1.22.22.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.22.22.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.22.12.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.24.6.3 |
| 29-May-2016 |
skrll | Sync with HEAD
|
1.24.6.2 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.24.6.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|