X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_fs.c;h=14fd0b8d04906ad39a955fdf506a58f5c24af311;hp=fcf111e43af1f5390eb81dc8f7494a4b1a05ca70;hb=600cb55e4d937dd1f61d596b49a58ef11ddc01c9;hpb=dd25418d4afd234d9f6f4d7b2c517619b7bd708b diff --git a/yaffs_fs.c b/yaffs_fs.c index fcf111e..14fd0b8 100644 --- a/yaffs_fs.c +++ b/yaffs_fs.c @@ -31,7 +31,7 @@ */ const char *yaffs_fs_c_version = - "$Id: yaffs_fs.c,v 1.30 2005-09-20 05:22:43 charles Exp $"; + "$Id: yaffs_fs.c,v 1.33 2005-10-27 22:24:04 marty Exp $"; extern const char *yaffs_guts_c_version; #include @@ -604,9 +604,10 @@ static int yaffs_commit_write(struct file *f, struct page *pg, unsigned offset, } T(YAFFS_TRACE_OS, - (KERN_DEBUG "yaffs_commit_write returning %d\n", nWritten)); + (KERN_DEBUG "yaffs_commit_write returning %d\n", + nWritten == nBytes ? 0 : -1)); - return nWritten; + return nWritten == nBytes ? 0 : -1; } @@ -1133,8 +1134,10 @@ static int yaffs_rename(struct inode *old_dir, struct dentry *old_dentry, yaffs_GrossUnlock(dev); if (retVal == YAFFS_OK) { - new_dentry->d_inode->i_nlink--; - mark_inode_dirty(new_dentry->d_inode); + if(target) { + new_dentry->d_inode->i_nlink--; + mark_inode_dirty(new_dentry->d_inode); + } return 0; } else { @@ -1490,7 +1493,7 @@ static struct super_block *yaffs_internal_read_super(int yaffsVersion, static int yaffs_internal_read_super_mtd(struct super_block *sb, void *data, int silent) { - return yaffs_internal_read_super(1, sb, data, silent) ? 0 : -1; + return yaffs_internal_read_super(1, sb, data, silent) ? 0 : -EINVAL; } static struct super_block *yaffs_read_super(struct file_system_type *fs, @@ -1527,7 +1530,7 @@ static DECLARE_FSTYPE(yaffs_fs_type, "yaffs", yaffs_read_super, static int yaffs2_internal_read_super_mtd(struct super_block *sb, void *data, int silent) { - return yaffs_internal_read_super(2, sb, data, silent) ? 0 : -1; + return yaffs_internal_read_super(2, sb, data, silent) ? 0 : -EINVAL; } static struct super_block *yaffs2_read_super(struct file_system_type *fs,