]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/jffs2/file.c
Merge ../linux-2.6
[linux-2.6-omap-h63xx.git] / fs / jffs2 / file.c
index 231404a74728642de0a90a24dcd08a5a2caca417..9f4171213e58b2d4105152e78a8627c688e37633 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id: file.c,v 1.103 2005/09/07 08:34:54 havasi Exp $
+ * $Id: file.c,v 1.104 2005/10/18 23:29:35 tpoynor Exp $
  *
  */
 
@@ -34,11 +34,11 @@ int jffs2_fsync(struct file *filp, struct dentry *dentry, int datasync)
 
        /* Trigger GC to flush any pending writes for this inode */
        jffs2_flush_wbuf_gc(c, inode->i_ino);
-                       
-       return 0;       
+
+       return 0;
 }
 
-struct file_operations jffs2_file_operations =
+const struct file_operations jffs2_file_operations =
 {
        .llseek =       generic_file_llseek,
        .open =         generic_file_open,
@@ -107,7 +107,7 @@ static int jffs2_readpage (struct file *filp, struct page *pg)
 {
        struct jffs2_inode_info *f = JFFS2_INODE_INFO(pg->mapping->host);
        int ret;
-       
+
        down(&f->sem);
        ret = jffs2_do_readpage_unlock(pg->mapping->host, pg);
        up(&f->sem);
@@ -130,7 +130,7 @@ static int jffs2_prepare_write (struct file *filp, struct page *pg,
                struct jffs2_raw_inode ri;
                struct jffs2_full_dnode *fn;
                uint32_t phys_ofs, alloc_len;
-               
+
                D1(printk(KERN_DEBUG "Writing new hole frag 0x%x-0x%x between current EOF and new page\n",
                          (unsigned int)inode->i_size, pageofs));
 
@@ -160,7 +160,7 @@ static int jffs2_prepare_write (struct file *filp, struct page *pg,
                ri.compr = JFFS2_COMPR_ZERO;
                ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));
                ri.data_crc = cpu_to_je32(0);
-               
+
                fn = jffs2_write_dnode(c, f, &ri, NULL, 0, phys_ofs, ALLOC_NORMAL);
 
                if (IS_ERR(fn)) {
@@ -187,7 +187,7 @@ static int jffs2_prepare_write (struct file *filp, struct page *pg,
                inode->i_size = pageofs;
                up(&f->sem);
        }
-       
+
        /* Read in the page if it wasn't already present, unless it's a whole page */
        if (!PageUptodate(pg) && (start || end < PAGE_CACHE_SIZE)) {
                down(&f->sem);
@@ -218,7 +218,7 @@ static int jffs2_commit_write (struct file *filp, struct page *pg,
        if (!start && end == PAGE_CACHE_SIZE) {
                /* We need to avoid deadlock with page_cache_read() in
                   jffs2_garbage_collect_pass(). So we have to mark the
-                  page up to date, to prevent page_cache_read() from 
+                  page up to date, to prevent page_cache_read() from
                   trying to re-lock it. */
                SetPageUptodate(pg);
        }
@@ -252,7 +252,7 @@ static int jffs2_commit_write (struct file *filp, struct page *pg,
                /* There was an error writing. */
                SetPageError(pg);
        }
-       
+
        /* Adjust writtenlen for the padding we did, so we don't confuse our caller */
        if (writtenlen < (start&3))
                writtenlen = 0;
@@ -263,7 +263,7 @@ static int jffs2_commit_write (struct file *filp, struct page *pg,
                if (inode->i_size < (pg->index << PAGE_CACHE_SHIFT) + start + writtenlen) {
                        inode->i_size = (pg->index << PAGE_CACHE_SHIFT) + start + writtenlen;
                        inode->i_blocks = (inode->i_size + 511) >> 9;
-                       
+
                        inode->i_ctime = inode->i_mtime = ITIME(je32_to_cpu(ri->ctime));
                }
        }
@@ -272,13 +272,13 @@ static int jffs2_commit_write (struct file *filp, struct page *pg,
 
        if (start+writtenlen < end) {
                /* generic_file_write has written more to the page cache than we've
-                  actually written to the medium. Mark the page !Uptodate so that 
+                  actually written to the medium. Mark the page !Uptodate so that
                   it gets reread */
                D1(printk(KERN_DEBUG "jffs2_commit_write(): Not all bytes written. Marking page !uptodate\n"));
                SetPageError(pg);
                ClearPageUptodate(pg);
        }
 
-       D1(printk(KERN_DEBUG "jffs2_commit_write() returning %d\n",writtenlen?writtenlen:ret));
-       return writtenlen?writtenlen:ret;
+       D1(printk(KERN_DEBUG "jffs2_commit_write() returning %d\n",start+writtenlen==end?0:ret));
+       return start+writtenlen==end?0:ret;
 }