>
> yaffs locking
> yaffs_lookup for 2945:Andorra
> yaffs unlocking
> yaffs_lookup not found
> yaffs_create
> yaffs_mknod: parent object 2945 type 3
> yaffs_mknod: making oject for Andorra, mode 81ed dev 0
> yaffs locking
> yaffs_mknod: making file
> yaffs unlocking
> yaffs_get_inode for object 2829
> yaffs_iget for 2829
> yaffs locking
> yaffs_FillInode mode 81ed uid 0 gid 0 size 0 count 1
> yaffs unlocking
> yaffs_mknod created object 2829 count = 1
> start yaffs_write_begin
> yaffs locking
> yaffs unlocking
> yaffs_readpage at 00000000, size 00001000
> yaffs locking
> yaffs unlocking
> yaffs_readpage done
> end yaffs_write_begin - ok
> yaffs_write_end addr c64a2000 pos 0 nBytes 2185
> yaffs locking
> yaffs_file_write about to write writing 2185 bytesto object 2829 at 0
> yaffs_file_write writing 2185 bytes, 2185 written at 0
> yaffs_file_write size updated to 2185 bytes, 5 blocks
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs_file_flush object 2829 (dirty)
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 2829
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 2829
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 2829
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs_lookup for 2945:Podgorica
> yaffs unlocking
> yaffs_lookup not found
> yaffs_create
> yaffs_mknod: parent object 2945 type 3
> yaffs_mknod: making oject for Podgorica, mode 81ed dev 0
> yaffs locking
> yaffs_mknod: making file
> yaffs_clear_inode: ino 1489, count 0 object exists
> yaffs locking
> yaffs_write_super
> yaffs_write_super
> yaffs_write_super
> yaffs_write_super
Hi Peter
Could you try adding a bit more tracing to the YMALLOC to verify that that is
the chain that is causing the problem.
Also try extending the tracing on the locking with something like:
static void yaffs_GrossLock(yaffs_Device * dev)
{
T(YAFFS_TRACE_OS, (KERN_DEBUG "yaffs locking %p\n",current));
down(&dev->grossLock);
T(YAFFS_TRACE_OS, (KERN_DEBUG "yaffs locked %p\n",current));
}
static void yaffs_GrossUnlock(yaffs_Device * dev)
{
T(YAFFS_TRACE_OS, (KERN_DEBUG "yaffs unlocking %p\n",current));
up(&dev->grossLock);
}
that should confirm the chain for us.
Perhaps the NOFS flag is not being honoured the way that was being expected.
-- Charles