yaffs2.git
10 years agoyaffs: Clean up comments in direct/yaffsfs.c
Charles Manning [Wed, 19 May 2010 00:31:50 +0000 (12:31 +1200)]
yaffs: Clean up comments in direct/yaffsfs.c

Get rid of C++ style comments

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs Fix the interpretation of O_EXCL
Charles Manning [Tue, 18 May 2010 23:09:42 +0000 (11:09 +1200)]
yaffs Fix the interpretation of O_EXCL

O_EXCL does not mean openinging for exclusive access.

O_EXCL only has meaning with O_CREAT. It means only create file if
it does not exist.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs Tweaks to stress test
Charles Manning [Tue, 18 May 2010 22:20:14 +0000 (10:20 +1200)]
yaffs Tweaks to stress test

Add/remove  directories to increase coverage.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Tweak tests to use log files
Charles Manning [Sun, 16 May 2010 23:02:42 +0000 (11:02 +1200)]
yaffs: Tweak tests to use log files

This runs faster than spewing onto a terminal.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs Fix incorrect handling of deletion flag
Charles Manning [Thu, 13 May 2010 02:29:16 +0000 (14:29 +1200)]
yaffs Fix incorrect handling of deletion flag

Move the reading of the deleted flag so that it picks up any changes.

Notw we need a value on the stack because the object might get
freed and we don't want to access a hanging pointer.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs Add another test script
Charles Manning [Fri, 7 May 2010 03:24:51 +0000 (15:24 +1200)]
yaffs Add another test script

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoMerge branch 'master' of ssh://www.aleph1.co.uk/home/aleph1/git/yaffs2
Charles Manning [Thu, 6 May 2010 22:08:22 +0000 (10:08 +1200)]
Merge branch 'master' of ssh://aleph1.co.uk/home/aleph1/git/yaffs2

10 years agoyaffs Move docs to other repository
Charles Manning [Thu, 6 May 2010 22:06:24 +0000 (10:06 +1200)]
yaffs Move docs to other repository

10 years agoyaffs Clean up exit from plot script
Charles Manning [Sun, 2 May 2010 21:56:20 +0000 (09:56 +1200)]
yaffs Clean up exit from plot script

The plot script now cleans up properly after a control-C.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Add yaffs direct pdf
Charles Manning [Thu, 29 Apr 2010 21:10:26 +0000 (09:10 +1200)]
yaffs: Add yaffs direct pdf

Makes it easier for users to access docs.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Improve debug chunk erased checking, change refreshPeriod
Charles Manning [Thu, 29 Apr 2010 01:40:28 +0000 (13:40 +1200)]
yaffs: Improve debug chunk erased checking, change refreshPeriod

Normalise macro to YAFFS_CONFIG_ALWAYS_CHECK_CHUNK_ERASED.
This reduces performance so output kernel message warning this is enabled.

Change refreshPeriod to make it much slower.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Add dump_stack() to YBUG to give more info.
Charles Manning [Thu, 29 Apr 2010 01:39:16 +0000 (13:39 +1200)]
yaffs: Add dump_stack() to YBUG to give more info.

This adds more info for debugging.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs Clean up compilation warning
Charles Manning [Thu, 29 Apr 2010 01:35:30 +0000 (13:35 +1200)]
yaffs Clean up compilation warning

Don't compile unused functions.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Don't do checkpoint for small partitions.
Charles Manning [Wed, 28 Apr 2010 00:57:45 +0000 (12:57 +1200)]
yaffs: Don't do checkpoint for small partitions.

On very small partitions a checkpoint is pointless and wastes space.
For less than 60 blocks we don't try making a checkpoint.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Speed up test script
Charles Manning [Tue, 27 Apr 2010 20:38:44 +0000 (08:38 +1200)]
yaffs: Speed up test script

Set tracing to zero so that test script runs faster

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Integrate Android tree differences
Charles Manning [Tue, 27 Apr 2010 02:06:38 +0000 (14:06 +1200)]
yaffs: Integrate Android tree differences

This brings in Android changes, and a few more clean-ups to normalise with the
Android tree.

More to follow maybe.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Change name of /proc/yaffs_stats
Charles Manning [Tue, 27 Apr 2010 02:05:19 +0000 (14:05 +1200)]
yaffs: Change name of /proc/yaffs_stats

name was not updated in plotter script.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Tweak test scripts
Charles Manning [Mon, 26 Apr 2010 23:44:21 +0000 (11:44 +1200)]
yaffs: Tweak test scripts
Minor change so that the script sleeps and does not just exit.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Changes to test scripts
Charles Manning [Thu, 22 Apr 2010 01:27:28 +0000 (13:27 +1200)]
yaffs: Changes to test scripts

Add mount_cycling script.

Change /proc/yaffs_debug references to /proc/yaffs_stats.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs Some cleanups.
Charles Manning [Tue, 20 Apr 2010 05:12:46 +0000 (17:12 +1200)]
yaffs Some cleanups.

Update copyright messages.
Clean up tracing to use TSTR and KERN_DEBUG.
Remove cvs $Id.
Change /proc/yaffs_debug to /proc/yaffs_stats.
... and a few other clean ups.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Rationalise plot_data.sh
Charles Manning [Mon, 26 Apr 2010 02:35:21 +0000 (14:35 +1200)]
yaffs: Rationalise plot_data.sh

plot_data.sh now includes all the scripting required to do the plotting.
No longer uses seperate scripts to gather data and drive gnu-plot.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Clean up 64-bit compilation
Charles Manning [Mon, 26 Apr 2010 01:31:33 +0000 (13:31 +1200)]
yaffs: Clean up 64-bit compilation

Change format fields to work properly with 64-bit compilation.

Change name of background thread to get rid of pointer calculations.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs: Change trace flag for partially written blocks
Charles Manning [Sun, 25 Apr 2010 23:20:03 +0000 (11:20 +1200)]
yaffs: Change trace flag for partially written blocks

This was YAFFS_TRACE_ALWAYS which generated a lot of pointless tracing.
Switched to YAFFS_TRACE_SCAN.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoAdding HowYaffsWorks.pdf for users
jenny [Tue, 20 Apr 2010 10:16:26 +0000 (11:16 +0100)]
Adding HowYaffsWorks.pdf for users

Signed-off-by: jenny <jenny@basil.follybridge>
10 years agoyaffs: More background gc tweaks.
Charles Manning [Tue, 20 Apr 2010 02:36:01 +0000 (14:36 +1200)]
yaffs: More background gc tweaks.

Slight changes to urgency thresholds

Fix problem where background gc was interfering with sync resulting in
checkpoints being lost.

Add more tracing for background gc.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoyaffs New background garbage collector and related tweaks
Charles Manning [Fri, 16 Apr 2010 03:39:16 +0000 (15:39 +1200)]
yaffs New background garbage collector and related tweaks

This commit
- introduces the yaffs background garbage collection feature
- tweaks the foregound garbage collection to do less work
- changes the way auto-checkpointing works
- tweaks the block refreshing logic.

The aim of the background garbage collector is to do at least some of the
garbage collection in the background so that writing operations will not have
to do as much garbage collection which should make writes faster. The amount of
background garbage collection is controlled by the ratio between the amount of
erased space vs the amount of free space:
* If less than quarter of free space is erased, then background gc is frequent.
* Else if less than a half of the free space is erased, then background gc is
still done reasonably frequently.
* else (at least half of the free space is erased) the background gc is done
infrequently.

Background gc is not attempted if the partition is checkpointed since that would
invalidate the checkpoint.

The auto-checkpointing feature has changed slightly. If the yaffs_auto_checkpoint
value is set to 1 or 2 then the auto checkpointing will be blocked if the erased
space is less than half the free space (ie. the auto-checkpointing is blocked to
allow background gc to progress). Oring in 4 into the yaffs_auto_checkpoint will
do a one-shot override, forcing a checkpoint and suspending background gc until
the partition is dirtied by a write, erase etc.

The block refreshing control has been changed. The dev->param.refreshPeriod now
controls how many blocks are garbage collected before another refresh is performed.
Values around 1000 probably make the best sense.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agowork in progress
Charles Manning [Fri, 16 Apr 2010 00:13:27 +0000 (12:13 +1200)]
work in progress

10 years agoTweak nfs support
Charles Manning [Tue, 13 Apr 2010 23:24:26 +0000 (11:24 +1200)]
Tweak nfs support

Fix problem that caused a regression in busybox rm on directories
with many files.

Limit the feature to only compile with more recent kernels that have
all the required features.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoAdd one-shot feature for yaffs auto checkpointing.
Charles Manning [Mon, 12 Apr 2010 04:55:22 +0000 (16:55 +1200)]
Add one-shot feature for yaffs auto checkpointing.

This feature is enabling by ORing in 0x04 to the yaffs_auto_checkpoint
module parameter. This will do a one-shot checkpoint on the next sync and
the bit will then be reset.

This is a nice way to force a checkpoint on the next sync. eg.
echo 6 > /sys/modules/yaffs/parameters/yaffs_auto_checkpoint
sync
yaffs_auto_checkpoint will now be 2

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoTweaks to YaffsTuning doc.
Charles Manning [Tue, 6 Apr 2010 04:57:10 +0000 (16:57 +1200)]
Tweaks to YaffsTuning doc.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoAdd nfs support.
Charles Manning [Tue, 30 Mar 2010 01:42:21 +0000 (14:42 +1300)]
Add nfs support.
This is a modified version of the patch suplied by
Jean-Loup Sabatier

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoAdd more test code.
Charles Manning [Tue, 30 Mar 2010 01:35:05 +0000 (14:35 +1300)]
Add more test code.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoMerge branch 'master' of ssh://www.aleph1.co.uk/home/aleph1/git/yaffs2
Charles Manning [Thu, 25 Mar 2010 03:09:21 +0000 (16:09 +1300)]
Merge branch 'master' of ssh://aleph1.co.uk/home/aleph1/git/yaffs2

10 years agoAdd more test scripts to automate running tests.
Charles Manning [Thu, 25 Mar 2010 00:48:41 +0000 (13:48 +1300)]
Add more test scripts to automate running tests.

10 years agoAdd more test scripts to automate running tests.
Charles Manning [Thu, 25 Mar 2010 00:48:41 +0000 (13:48 +1300)]
Add more test scripts to automate running tests.

10 years agoRe-enable soft delete for yaffs1 mode.
Charles Manning [Fri, 19 Mar 2010 03:45:49 +0000 (16:45 +1300)]
Re-enable soft delete for yaffs1 mode.

Soft deletion was disabled because it messed up yaffs2 mode.
Soft deletion is not very valuable for yaffs2 mode, but has been
re-enabled for yaffs1 mode where it is far more value.

Also added a parameter to disable soft delete.

Signed-off-by: Charles Manning <cdhmanning@gmail.com>
10 years agoAdd scripts for realtime plotting erased psace vs free space
Charles Manning [Fri, 19 Mar 2010 03:06:14 +0000 (16:06 +1300)]
Add scripts for realtime plotting erased psace vs free space

10 years agoFix typo (and check git is working)
Wookey [Thu, 18 Mar 2010 21:44:53 +0000 (21:44 +0000)]
Fix typo (and check git is working)

10 years agoAdd work in progress yaffs tuning document
charles [Tue, 16 Mar 2010 03:34:57 +0000 (03:34 +0000)]
Add work in progress yaffs tuning document

10 years agoUpdate yaffs docs
charles [Tue, 16 Mar 2010 03:30:45 +0000 (03:30 +0000)]
Update yaffs docs

10 years agoAdd garbage collection control
charles [Mon, 15 Mar 2010 23:10:33 +0000 (23:10 +0000)]
Add garbage collection control

10 years agoAdd more detail to yaffs_debug
charles [Mon, 15 Mar 2010 22:27:15 +0000 (22:27 +0000)]
Add more detail to yaffs_debug

10 years agoAdd mkfiles test
charles [Mon, 15 Mar 2010 22:22:09 +0000 (22:22 +0000)]
Add mkfiles test

10 years agoAdd debug proc entry for gathering gc stats
charles [Mon, 15 Mar 2010 06:28:36 +0000 (06:28 +0000)]
Add debug proc entry for gathering gc stats

10 years agoGet rid of kernel lock, change stats to __u32
charles [Mon, 15 Mar 2010 06:07:44 +0000 (06:07 +0000)]
Get rid of kernel lock, change stats to __u32

10 years agoFaster block iteration where all blocks are being checked
charles [Fri, 12 Mar 2010 02:48:34 +0000 (02:48 +0000)]
Faster block iteration where all blocks are being checked

10 years agoReduce shrink header writing
charles [Fri, 12 Mar 2010 01:22:48 +0000 (01:22 +0000)]
Reduce shrink header writing

10 years agoAdd test for reduced shrink headers
charles [Thu, 11 Mar 2010 22:47:09 +0000 (22:47 +0000)]
Add test for reduced shrink headers

10 years agoUpdate tags when rewriting object header during gc
charles [Thu, 11 Mar 2010 02:44:43 +0000 (02:44 +0000)]
Update tags when rewriting object header during gc

10 years agoAdd more test info
charles [Thu, 11 Mar 2010 02:14:41 +0000 (02:14 +0000)]
Add more test info

10 years agoChange test to 32MB
charles [Thu, 11 Mar 2010 02:13:50 +0000 (02:13 +0000)]
Change test to 32MB

10 years agoMore testing
charles [Thu, 11 Mar 2010 02:12:57 +0000 (02:12 +0000)]
More testing

10 years agoClear obsolete files during simulation
charles [Wed, 10 Mar 2010 02:07:01 +0000 (02:07 +0000)]
Clear obsolete files during simulation

10 years agoClear all files at start of simulation
charles [Wed, 10 Mar 2010 01:57:25 +0000 (01:57 +0000)]
Clear all files at start of simulation

10 years agoAdd conditional compilation for background processing
charles [Wed, 10 Mar 2010 01:22:19 +0000 (01:22 +0000)]
Add conditional compilation for background processing

10 years agoFix typo
charles [Tue, 9 Mar 2010 20:41:46 +0000 (20:41 +0000)]
Fix typo

10 years agoAdd background processing of updated directories
charles [Tue, 9 Mar 2010 04:12:00 +0000 (04:12 +0000)]
Add background processing of updated directories

10 years agoAdd extra checks to oldest dirty sequence checking
charles [Sun, 7 Mar 2010 23:43:34 +0000 (23:43 +0000)]
Add extra checks to oldest dirty sequence checking

10 years agoDynamically update the oldest dirty sequence number so that it does not have to be...
charles [Sun, 7 Mar 2010 22:07:03 +0000 (22:07 +0000)]
Dynamically update the oldest dirty sequence number so that it does not have to be recalculated all the time

10 years agoAdd dummy uses for unused variables to clear compilation warnings
charles [Fri, 5 Mar 2010 02:26:27 +0000 (02:26 +0000)]
Add dummy uses for unused variables to clear compilation warnings

10 years agoRemove oldestDirtySequence from checkpoint
charles [Fri, 5 Mar 2010 01:49:00 +0000 (01:49 +0000)]
Remove oldestDirtySequence from checkpoint

10 years agoRemove obsolete pathDivider field
charles [Thu, 4 Mar 2010 22:39:46 +0000 (22:39 +0000)]
Remove obsolete pathDivider field

10 years agoClean up yaffs_FindNiceObject to be thread safe and simpler. Fix code that does a...
charles [Tue, 2 Mar 2010 02:29:21 +0000 (02:29 +0000)]
Clean up yaffs_FindNiceObject to be thread safe and simpler. Fix code that does a dummy tree insert during write

10 years agoAdd block refreshing feature
charles [Thu, 25 Feb 2010 22:41:46 +0000 (22:41 +0000)]
Add block refreshing feature

10 years agoFix problem caused by void ptr and clean up code paths
charles [Thu, 25 Feb 2010 22:38:03 +0000 (22:38 +0000)]
Fix problem caused by void ptr and clean up code paths

10 years agoAdd extra compiler flags
charles [Thu, 25 Feb 2010 22:34:47 +0000 (22:34 +0000)]
Add extra compiler flags

10 years agoPass correct argument to markSuperBlockDirty
charles [Wed, 24 Feb 2010 21:06:39 +0000 (21:06 +0000)]
Pass correct argument to markSuperBlockDirty

10 years agoFix parameter handling
charles [Fri, 19 Feb 2010 01:19:12 +0000 (01:19 +0000)]
Fix parameter handling

10 years agoRemove obsolete mtdif code
charles [Fri, 19 Feb 2010 01:06:31 +0000 (01:06 +0000)]
Remove obsolete mtdif code

10 years agoAdd default return
charles [Fri, 19 Feb 2010 01:05:48 +0000 (01:05 +0000)]
Add default return

10 years agoFix mtdif erasing to work properly for inband tags
charles [Fri, 19 Feb 2010 01:00:14 +0000 (01:00 +0000)]
Fix mtdif erasing to work properly for inband tags

10 years agoRationalise context and parameter handling
charles [Thu, 18 Feb 2010 01:31:29 +0000 (01:31 +0000)]
Rationalise context and parameter handling

10 years agoRationalise context and parameter handling
charles [Thu, 18 Feb 2010 01:18:04 +0000 (01:18 +0000)]
Rationalise context and parameter handling

10 years agoCleaner error reporting
charles [Wed, 17 Feb 2010 02:20:32 +0000 (02:20 +0000)]
Cleaner error reporting

10 years agomake clean works better
charles [Wed, 17 Feb 2010 02:18:57 +0000 (02:18 +0000)]
make clean works better

10 years agoClean ups and improve some out of memory handling
charles [Wed, 17 Feb 2010 02:01:25 +0000 (02:01 +0000)]
Clean ups and improve some out of memory handling

10 years agoFix wrong link
charles [Wed, 17 Feb 2010 00:51:15 +0000 (00:51 +0000)]
Fix wrong link

10 years agoAdd remount and forced unmount to yaffs direct
charles [Tue, 16 Feb 2010 23:24:57 +0000 (23:24 +0000)]
Add remount and forced unmount to yaffs direct

10 years ago Prevent resizes bigger than 2GBytes
charles [Wed, 10 Feb 2010 03:54:08 +0000 (03:54 +0000)]
 Prevent resizes bigger than 2GBytes

10 years agoBreak up yaffs direct reads and writes to prevent locking with long operations
charles [Fri, 5 Feb 2010 03:59:04 +0000 (03:59 +0000)]
Break up yaffs direct reads and writes to prevent locking with long operations

10 years agoFix typo
charles [Mon, 1 Feb 2010 00:58:04 +0000 (00:58 +0000)]
Fix typo

10 years agoUpdate Howyaffsworks
charles [Thu, 28 Jan 2010 01:17:29 +0000 (01:17 +0000)]
Update Howyaffsworks

10 years agoAdd own zero_user_segment for older kernels
charles [Tue, 19 Jan 2010 21:16:30 +0000 (21:16 +0000)]
Add own zero_user_segment for older kernels

10 years agoAdd documentation .odt files
charles [Mon, 18 Jan 2010 00:29:50 +0000 (00:29 +0000)]
Add documentation .odt files

10 years agoChange initnandsim to accept parameters to lauch different simulations
charles [Sun, 17 Jan 2010 23:58:49 +0000 (23:58 +0000)]
Change initnandsim to accept parameters to lauch different simulations

10 years agoChange parameters to packing/unpacking to fix mkyaffs2image compilation issue
charles [Mon, 11 Jan 2010 21:43:18 +0000 (21:43 +0000)]
Change parameters to packing/unpacking to fix mkyaffs2image compilation issue

10 years agoMove tracing out of yportenv.h
charles [Mon, 11 Jan 2010 04:06:46 +0000 (04:06 +0000)]
Move tracing out of yportenv.h

10 years agoChange direct handle management to use an inode layer to make it consistent with...
charles [Wed, 6 Jan 2010 04:00:23 +0000 (04:00 +0000)]
Change direct handle management to use an inode layer to make it consistent with Linux VFS. This is done to improve testing consistency.

10 years agoChange number of handles to 100
charles [Wed, 6 Jan 2010 03:58:05 +0000 (03:58 +0000)]
Change number of handles to 100

10 years agoAdd handle tests
charles [Wed, 6 Jan 2010 03:56:46 +0000 (03:56 +0000)]
Add handle tests

10 years agoFix issue with unlinking hardlinks failing sanity check
charles [Tue, 5 Jan 2010 22:58:15 +0000 (22:58 +0000)]
Fix issue with unlinking hardlinks failing sanity check

10 years agoAdd another test
charles [Tue, 5 Jan 2010 22:53:32 +0000 (22:53 +0000)]
Add another test

10 years agoClear creation counters when deinitialising.
charles [Fri, 1 Jan 2010 23:54:03 +0000 (23:54 +0000)]
Clear creation counters when deinitialising.

10 years agoAdd more comment for yaffs_PruneWorker function.
charles [Wed, 30 Dec 2009 22:30:12 +0000 (22:30 +0000)]
Add more comment for yaffs_PruneWorker function.

10 years agoChange nandsim invocation to use 256MB partition
charles [Fri, 25 Dec 2009 01:54:10 +0000 (01:54 +0000)]
Change nandsim invocation to use 256MB partition

10 years agoFix pruning to work correctly with wide Tnodes
charles [Fri, 25 Dec 2009 01:53:05 +0000 (01:53 +0000)]
Fix pruning to work correctly with wide Tnodes

10 years agoFSX runs much better with this
charles [Wed, 23 Dec 2009 03:14:17 +0000 (03:14 +0000)]
FSX runs much better with this

10 years agoFix obvious 64-bit issues. Mounts and does basic touch, rm etc
charles [Tue, 22 Dec 2009 04:09:06 +0000 (04:09 +0000)]
Fix obvious 64-bit issues. Mounts and does basic touch, rm etc

10 years agoNew partial block handing to improve robustness
charles [Mon, 14 Dec 2009 22:03:05 +0000 (22:03 +0000)]
New partial block handing to improve robustness

10 years agoAdd fuzzer work in progress
charles [Mon, 14 Dec 2009 19:46:27 +0000 (19:46 +0000)]
Add fuzzer work in progress