Charles Manning [Thu, 17 Jun 2010 05:51:33 +0000 (17:51 +1200)]
yaffs: Change timer init call to init_timer_on_stack
This call is more debug friendly and does not trigger certain kernel warmings.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Thu, 17 Jun 2010 03:57:47 +0000 (15:57 +1200)]
yaffs: Clean up unused variable
Remove warning.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Thu, 17 Jun 2010 03:55:13 +0000 (15:55 +1200)]
yaffs: Change yaffs_sync_object prototype for new 2.6.35 VFS interface
The sync interface changed, we change too...
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Mon, 14 Jun 2010 08:38:28 +0000 (20:38 +1200)]
yaffs: Fix up xattrib flag names
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Fri, 11 Jun 2010 01:54:51 +0000 (13:54 +1200)]
yaffs: Remove own qsort from Linux build
Use Linux's built in sorter.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Tue, 8 Jun 2010 23:04:34 +0000 (11:04 +1200)]
yaffs: Refactor allocator
Refactoring the allocator allows alternate allocators to be switched in more easily
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Sun, 13 Jun 2010 23:33:54 +0000 (11:33 +1200)]
yaffs: Fix yaffsfs xattr error handling, add yaffs_lsetxattr and friends
Error codes were not being handled correctly.
yaffs_lsetxattr, yaffs_lgetxattr, yaffs_lremovexattr, yaffs_llistxattr.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Fri, 11 Jun 2010 01:57:10 +0000 (13:57 +1200)]
yaffs: Improve xattrib to not modify if there is no space
Previously replacing an xattrib with a larger one that could not fit
would result in the original xattrib being deleted.
We now only replace an xattrib if there is space to do so.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Wed, 9 Jun 2010 23:38:25 +0000 (11:38 +1200)]
yaffs: Add xattrib file to in-kernel Makefile
First xattrib checkin missed this change.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Tue, 8 Jun 2010 03:46:58 +0000 (15:46 +1200)]
yaffs: Add xattrib support
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Fri, 28 May 2010 04:30:43 +0000 (16:30 +1200)]
yaffs: Clean up yaffs direct configuration
Clean up some stale comments.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Charles Manning [Wed, 19 May 2010 00:46:51 +0000 (12:46 +1200)]
yaffs: Add python test for O_EXCL
Check that OEXCL really works according to what's on the box.
Signed-off-by: Charles Manning <cdhmanning@gmail.com>
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>
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>
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>
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>
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>
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>
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
Charles Manning [Thu, 6 May 2010 22:06:24 +0000 (10:06 +1200)]
yaffs Move docs to other repository
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
jenny [Tue, 20 Apr 2010 10:16:26 +0000 (11:16 +0100)]
Adding HowYaffsWorks.pdf for users
Signed-off-by: jenny <jenny@basil.follybridge>
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>
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>
Charles Manning [Fri, 16 Apr 2010 00:13:27 +0000 (12:13 +1200)]
work in progress
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>
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>
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>
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>
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>
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
Charles Manning [Thu, 25 Mar 2010 00:48:41 +0000 (13:48 +1300)]
Add 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.
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>
Charles Manning [Fri, 19 Mar 2010 03:06:14 +0000 (16:06 +1300)]
Add scripts for realtime plotting erased psace vs free space
Wookey [Thu, 18 Mar 2010 21:44:53 +0000 (21:44 +0000)]
Fix typo (and check git is working)
charles [Tue, 16 Mar 2010 03:34:57 +0000 (03:34 +0000)]
Add work in progress yaffs tuning document
charles [Tue, 16 Mar 2010 03:30:45 +0000 (03:30 +0000)]
Update yaffs docs
charles [Mon, 15 Mar 2010 23:10:33 +0000 (23:10 +0000)]
Add garbage collection control
charles [Mon, 15 Mar 2010 22:27:15 +0000 (22:27 +0000)]
Add more detail to yaffs_debug
charles [Mon, 15 Mar 2010 22:22:09 +0000 (22:22 +0000)]
Add mkfiles test
charles [Mon, 15 Mar 2010 06:28:36 +0000 (06:28 +0000)]
Add debug proc entry for gathering gc stats
charles [Mon, 15 Mar 2010 06:07:44 +0000 (06:07 +0000)]
Get rid of kernel lock, change stats to __u32
charles [Fri, 12 Mar 2010 02:48:34 +0000 (02:48 +0000)]
Faster block iteration where all blocks are being checked
charles [Fri, 12 Mar 2010 01:22:48 +0000 (01:22 +0000)]
Reduce shrink header writing
charles [Thu, 11 Mar 2010 22:47:09 +0000 (22:47 +0000)]
Add test for reduced shrink headers
charles [Thu, 11 Mar 2010 02:44:43 +0000 (02:44 +0000)]
Update tags when rewriting object header during gc
charles [Thu, 11 Mar 2010 02:14:41 +0000 (02:14 +0000)]
Add more test info
charles [Thu, 11 Mar 2010 02:13:50 +0000 (02:13 +0000)]
Change test to 32MB
charles [Thu, 11 Mar 2010 02:12:57 +0000 (02:12 +0000)]
More testing
charles [Wed, 10 Mar 2010 02:07:01 +0000 (02:07 +0000)]
Clear obsolete files during simulation
charles [Wed, 10 Mar 2010 01:57:25 +0000 (01:57 +0000)]
Clear all files at start of simulation
charles [Wed, 10 Mar 2010 01:22:19 +0000 (01:22 +0000)]
Add conditional compilation for background processing
charles [Tue, 9 Mar 2010 20:41:46 +0000 (20:41 +0000)]
Fix typo
charles [Tue, 9 Mar 2010 04:12:00 +0000 (04:12 +0000)]
Add background processing of updated directories
charles [Sun, 7 Mar 2010 23:43:34 +0000 (23:43 +0000)]
Add extra checks to oldest dirty sequence checking
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
charles [Fri, 5 Mar 2010 02:26:27 +0000 (02:26 +0000)]
Add dummy uses for unused variables to clear compilation warnings
charles [Fri, 5 Mar 2010 01:49:00 +0000 (01:49 +0000)]
Remove oldestDirtySequence from checkpoint
charles [Thu, 4 Mar 2010 22:39:46 +0000 (22:39 +0000)]
Remove obsolete pathDivider field
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
charles [Thu, 25 Feb 2010 22:41:46 +0000 (22:41 +0000)]
Add block refreshing feature
charles [Thu, 25 Feb 2010 22:38:03 +0000 (22:38 +0000)]
Fix problem caused by void ptr and clean up code paths
charles [Thu, 25 Feb 2010 22:34:47 +0000 (22:34 +0000)]
Add extra compiler flags
charles [Wed, 24 Feb 2010 21:06:39 +0000 (21:06 +0000)]
Pass correct argument to markSuperBlockDirty
charles [Fri, 19 Feb 2010 01:19:12 +0000 (01:19 +0000)]
Fix parameter handling
charles [Fri, 19 Feb 2010 01:06:31 +0000 (01:06 +0000)]
Remove obsolete mtdif code
charles [Fri, 19 Feb 2010 01:05:48 +0000 (01:05 +0000)]
Add default return
charles [Fri, 19 Feb 2010 01:00:14 +0000 (01:00 +0000)]
Fix mtdif erasing to work properly for inband tags
charles [Thu, 18 Feb 2010 01:31:29 +0000 (01:31 +0000)]
Rationalise context and parameter handling
charles [Thu, 18 Feb 2010 01:18:04 +0000 (01:18 +0000)]
Rationalise context and parameter handling
charles [Wed, 17 Feb 2010 02:20:32 +0000 (02:20 +0000)]
Cleaner error reporting
charles [Wed, 17 Feb 2010 02:18:57 +0000 (02:18 +0000)]
make clean works better
charles [Wed, 17 Feb 2010 02:01:25 +0000 (02:01 +0000)]
Clean ups and improve some out of memory handling
charles [Wed, 17 Feb 2010 00:51:15 +0000 (00:51 +0000)]
Fix wrong link
charles [Tue, 16 Feb 2010 23:24:57 +0000 (23:24 +0000)]
Add remount and forced unmount to yaffs direct
charles [Wed, 10 Feb 2010 03:54:08 +0000 (03:54 +0000)]
Prevent resizes bigger than 2GBytes
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
charles [Mon, 1 Feb 2010 00:58:04 +0000 (00:58 +0000)]
Fix typo
charles [Thu, 28 Jan 2010 01:17:29 +0000 (01:17 +0000)]
Update Howyaffsworks
charles [Tue, 19 Jan 2010 21:16:30 +0000 (21:16 +0000)]
Add own zero_user_segment for older kernels
charles [Mon, 18 Jan 2010 00:29:50 +0000 (00:29 +0000)]
Add documentation .odt files
charles [Sun, 17 Jan 2010 23:58:49 +0000 (23:58 +0000)]
Change initnandsim to accept parameters to lauch different simulations
charles [Mon, 11 Jan 2010 21:43:18 +0000 (21:43 +0000)]
Change parameters to packing/unpacking to fix mkyaffs2image compilation issue
charles [Mon, 11 Jan 2010 04:06:46 +0000 (04:06 +0000)]
Move tracing out of yportenv.h
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.