+ else {
+ nBytes = i_size & (PAGE_CACHE_SIZE -1);
+
+ if (page->index > end_index || !nBytes) {
+ T(YAFFS_TRACE_OS,
+ ("yaffs_writepage at %08x, inode size = %08x!!!\n",
+ (unsigned)(page->index << PAGE_CACHE_SHIFT),
+ (unsigned)inode->i_size));
+ T(YAFFS_TRACE_OS,
+ (" -> don't care!!\n"));
+
+ zero_user_segment(page,0,PAGE_CACHE_SIZE);
+ set_page_writeback(page);
+ unlock_page(page);
+ end_page_writeback(page);
+ return 0;
+ }
+ }
+
+ if(nBytes != PAGE_CACHE_SIZE)
+ zero_user_segment(page,nBytes,PAGE_CACHE_SIZE);