--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
f->f_version = inode->i_version;
}
f->f_version = inode->i_version;
}
curoffs++;
if (curoffs >= offset) {
l = list_entry(i, yaffs_Object, siblings);
curoffs++;
if (curoffs >= offset) {
l = list_entry(i, yaffs_Object, siblings);
if (target &&
target->variantType == YAFFS_OBJECT_TYPE_DIRECTORY &&
if (target &&
target->variantType == YAFFS_OBJECT_TYPE_DIRECTORY &&
T(YAFFS_TRACE_OS, (KERN_DEBUG "target is non-empty dir\n"));
T(YAFFS_TRACE_OS, (KERN_DEBUG "target is non-empty dir\n"));
yaffs_GrossUnlock(dev);
/* we assume this is protected by lock_kernel() in mount/umount */
yaffs_GrossUnlock(dev);
/* we assume this is protected by lock_kernel() in mount/umount */
if(dev->spareBuffer){
YFREE(dev->spareBuffer);
if(dev->spareBuffer){
YFREE(dev->spareBuffer);
dev->skipCheckpointWrite = options.skip_checkpoint_write;
/* we assume this is protected by lock_kernel() in mount/umount */
dev->skipCheckpointWrite = options.skip_checkpoint_write;
/* we assume this is protected by lock_kernel() in mount/umount */
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
f->f_version = inode->i_version;
}
f->f_version = inode->i_version;
}
curoffs++;
if (curoffs >= offset) {
l = list_entry(i, yaffs_Object, siblings);
curoffs++;
if (curoffs >= offset) {
l = list_entry(i, yaffs_Object, siblings);
if (target &&
target->variantType == YAFFS_OBJECT_TYPE_DIRECTORY &&
if (target &&
target->variantType == YAFFS_OBJECT_TYPE_DIRECTORY &&
T(YAFFS_TRACE_OS, (KERN_DEBUG "target is non-empty dir\n"));
T(YAFFS_TRACE_OS, (KERN_DEBUG "target is non-empty dir\n"));
yaffs_GrossUnlock(dev);
/* we assume this is protected by lock_kernel() in mount/umount */
yaffs_GrossUnlock(dev);
/* we assume this is protected by lock_kernel() in mount/umount */
if(dev->spareBuffer){
YFREE(dev->spareBuffer);
if(dev->spareBuffer){
YFREE(dev->spareBuffer);
dev->skipCheckpointWrite = options.skip_checkpoint_write;
/* we assume this is protected by lock_kernel() in mount/umount */
dev->skipCheckpointWrite = options.skip_checkpoint_write;
/* we assume this is protected by lock_kernel() in mount/umount */
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
#else
static int yaffs_statfs(struct super_block *sb, struct statfs *buf);
#endif
#else
static int yaffs_statfs(struct super_block *sb, struct statfs *buf);
#endif
static void yaffs_put_inode(struct inode *inode);
static void yaffs_delete_inode(struct inode *);
static void yaffs_put_inode(struct inode *inode);
static void yaffs_delete_inode(struct inode *);
static struct super_operations yaffs_super_ops = {
.statfs = yaffs_statfs,
static struct super_operations yaffs_super_ops = {
.statfs = yaffs_statfs,
.put_inode = yaffs_put_inode,
.put_super = yaffs_put_super,
.delete_inode = yaffs_delete_inode,
.put_inode = yaffs_put_inode,
.put_super = yaffs_put_super,
.delete_inode = yaffs_delete_inode,
T(YAFFS_TRACE_OS,
(KERN_DEBUG "yaffs_get_inode for object %d\n", obj->objectId));
T(YAFFS_TRACE_OS,
(KERN_DEBUG "yaffs_get_inode for object %d\n", obj->objectId));
static void yaffs_read_inode(struct inode *inode)
{
/* NB This is called as a side effect of other functions, but
static void yaffs_read_inode(struct inode *inode)
{
/* NB This is called as a side effect of other functions, but
yaffs_GrossUnlock(dev);
}
yaffs_GrossUnlock(dev);
}
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
f->f_version = inode->i_version;
}
f->f_version = inode->i_version;
}
curoffs++;
if (curoffs >= offset) {
l = list_entry(i, yaffs_Object, siblings);
curoffs++;
if (curoffs >= offset) {
l = list_entry(i, yaffs_Object, siblings);
if (target &&
target->variantType == YAFFS_OBJECT_TYPE_DIRECTORY &&
if (target &&
target->variantType == YAFFS_OBJECT_TYPE_DIRECTORY &&
T(YAFFS_TRACE_OS, (KERN_DEBUG "target is non-empty dir\n"));
T(YAFFS_TRACE_OS, (KERN_DEBUG "target is non-empty dir\n"));
yaffs_GrossUnlock(dev);
/* we assume this is protected by lock_kernel() in mount/umount */
yaffs_GrossUnlock(dev);
/* we assume this is protected by lock_kernel() in mount/umount */
if(dev->spareBuffer){
YFREE(dev->spareBuffer);
if(dev->spareBuffer){
YFREE(dev->spareBuffer);
dev->skipCheckpointWrite = options.skip_checkpoint_write;
/* we assume this is protected by lock_kernel() in mount/umount */
dev->skipCheckpointWrite = options.skip_checkpoint_write;
/* we assume this is protected by lock_kernel() in mount/umount */
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
#else
static int yaffs_statfs(struct super_block *sb, struct statfs *buf);
#endif
#else
static int yaffs_statfs(struct super_block *sb, struct statfs *buf);
#endif
static void yaffs_put_inode(struct inode *inode);
static void yaffs_delete_inode(struct inode *);
static void yaffs_put_inode(struct inode *inode);
static void yaffs_delete_inode(struct inode *);
static struct super_operations yaffs_super_ops = {
.statfs = yaffs_statfs,
static struct super_operations yaffs_super_ops = {
.statfs = yaffs_statfs,
.put_inode = yaffs_put_inode,
.put_super = yaffs_put_super,
.delete_inode = yaffs_delete_inode,
.put_inode = yaffs_put_inode,
.put_super = yaffs_put_super,
.delete_inode = yaffs_delete_inode,
T(YAFFS_TRACE_OS,
(KERN_DEBUG "yaffs_get_inode for object %d\n", obj->objectId));
T(YAFFS_TRACE_OS,
(KERN_DEBUG "yaffs_get_inode for object %d\n", obj->objectId));
static void yaffs_read_inode(struct inode *inode)
{
/* NB This is called as a side effect of other functions, but
static void yaffs_read_inode(struct inode *inode)
{
/* NB This is called as a side effect of other functions, but
yaffs_GrossUnlock(dev);
}
yaffs_GrossUnlock(dev);
}