]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'f2fs/dev'
authorThierry Reding <treding@nvidia.com>
Thu, 24 Oct 2013 12:33:10 +0000 (14:33 +0200)
committerThierry Reding <treding@nvidia.com>
Thu, 24 Oct 2013 12:33:10 +0000 (14:33 +0200)
1  2 
fs/f2fs/data.c
fs/f2fs/file.c

diff --combined fs/f2fs/data.c
index 2c02ec88f0e330d890566b53de38244cc6f1c155,4d4718fd4c80d839f6568b86b38a540890cecd4c..d42a1bf993a84921f645ff04a70fdb90a6a43689
@@@ -68,9 -68,6 +68,6 @@@ static int check_extent_cache(struct in
                                        struct buffer_head *bh_result)
  {
        struct f2fs_inode_info *fi = F2FS_I(inode);
- #ifdef CONFIG_F2FS_STAT_FS
-       struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
- #endif
        pgoff_t start_fofs, end_fofs;
        block_t start_blkaddr;
  
@@@ -80,9 -77,8 +77,8 @@@
                return 0;
        }
  
- #ifdef CONFIG_F2FS_STAT_FS
-       sbi->total_hit_ext++;
- #endif
+       stat_inc_hit_ext(inode->i_sb);
        start_fofs = fi->ext.fofs;
        end_fofs = fi->ext.fofs + fi->ext.len - 1;
        start_blkaddr = fi->ext.blk_addr;
                else
                        bh_result->b_size = UINT_MAX;
  
- #ifdef CONFIG_F2FS_STAT_FS
-               sbi->read_hit_ext++;
- #endif
+               stat_inc_hit_ext(inode->i_sb);
                read_unlock(&fi->ext.ext_lock);
                return 1;
        }
@@@ -560,9 -554,9 +554,9 @@@ write
                inode_dec_dirty_dents(inode);
                err = do_write_data_page(page);
        } else {
-               int ilock = mutex_lock_op(sbi);
+               f2fs_lock_op(sbi);
                err = do_write_data_page(page);
-               mutex_unlock_op(sbi, ilock);
+               f2fs_unlock_op(sbi);
                need_balance_fs = true;
        }
        if (err == -ENOENT)
@@@ -641,7 -635,6 +635,6 @@@ static int f2fs_write_begin(struct fil
        pgoff_t index = ((unsigned long long) pos) >> PAGE_CACHE_SHIFT;
        struct dnode_of_data dn;
        int err = 0;
-       int ilock;
  
        f2fs_balance_fs(sbi);
  repeat:
                return -ENOMEM;
        *pagep = page;
  
-       ilock = mutex_lock_op(sbi);
+       f2fs_lock_op(sbi);
  
        set_new_dnode(&dn, inode, NULL, NULL, 0);
        err = get_dnode_of_data(&dn, index, ALLOC_NODE);
        if (err)
                goto err;
  
-       mutex_unlock_op(sbi, ilock);
+       f2fs_unlock_op(sbi);
  
        if ((len == PAGE_CACHE_SIZE) || PageUptodate(page))
                return 0;
@@@ -700,7 -693,7 +693,7 @@@ out
        return 0;
  
  err:
-       mutex_unlock_op(sbi, ilock);
+       f2fs_unlock_op(sbi);
        f2fs_put_page(page, 1);
        return err;
  }
@@@ -727,7 -720,7 +720,7 @@@ static int f2fs_write_end(struct file *
  }
  
  static ssize_t f2fs_direct_IO(int rw, struct kiocb *iocb,
 -              const struct iovec *iov, loff_t offset, unsigned long nr_segs)
 +              struct iov_iter *iter, loff_t offset)
  {
        struct file *file = iocb->ki_filp;
        struct inode *inode = file->f_mapping->host;
                return 0;
  
        /* Needs synchronization with the cleaner */
 -      return blockdev_direct_IO(rw, iocb, inode, iov, offset, nr_segs,
 +      return blockdev_direct_IO(rw, iocb, inode, iter, offset,
                                                  get_data_block_ro);
  }
  
diff --combined fs/f2fs/file.c
index 31c2973760c02a854c60624ecf0892027c292440,c80faa2fff39ee09556d73bc0c567c15329a5cb4..f27eb0b725375696f16cbf2085a012172df0558e
@@@ -35,18 -35,18 +35,18 @@@ static int f2fs_vm_page_mkwrite(struct 
        struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
        block_t old_blk_addr;
        struct dnode_of_data dn;
-       int err, ilock;
+       int err;
  
        f2fs_balance_fs(sbi);
  
        sb_start_pagefault(inode->i_sb);
  
        /* block allocation */
-       ilock = mutex_lock_op(sbi);
+       f2fs_lock_op(sbi);
        set_new_dnode(&dn, inode, NULL, NULL, 0);
        err = get_dnode_of_data(&dn, page->index, ALLOC_NODE);
        if (err) {
-               mutex_unlock_op(sbi, ilock);
+               f2fs_unlock_op(sbi);
                goto out;
        }
  
                err = reserve_new_block(&dn);
                if (err) {
                        f2fs_put_dnode(&dn);
-                       mutex_unlock_op(sbi, ilock);
+                       f2fs_unlock_op(sbi);
                        goto out;
                }
        }
        f2fs_put_dnode(&dn);
-       mutex_unlock_op(sbi, ilock);
+       f2fs_unlock_op(sbi);
  
        file_update_time(vma->vm_file);
        lock_page(page);
@@@ -270,7 -270,7 +270,7 @@@ static int truncate_blocks(struct inod
        unsigned int blocksize = inode->i_sb->s_blocksize;
        struct dnode_of_data dn;
        pgoff_t free_from;
-       int count = 0, ilock = -1;
+       int count = 0;
        int err;
  
        trace_f2fs_truncate_blocks_enter(inode, from);
        free_from = (pgoff_t)
                        ((from + blocksize - 1) >> (sbi->log_blocksize));
  
-       ilock = mutex_lock_op(sbi);
+       f2fs_lock_op(sbi);
        set_new_dnode(&dn, inode, NULL, NULL, 0);
        err = get_dnode_of_data(&dn, free_from, LOOKUP_NODE);
        if (err) {
                if (err == -ENOENT)
                        goto free_next;
-               mutex_unlock_op(sbi, ilock);
+               f2fs_unlock_op(sbi);
                trace_f2fs_truncate_blocks_exit(inode, err);
                return err;
        }
        f2fs_put_dnode(&dn);
  free_next:
        err = truncate_inode_blocks(inode, free_from);
-       mutex_unlock_op(sbi, ilock);
+       f2fs_unlock_op(sbi);
  
        /* lastly zero out the first data page */
        truncate_partial_data_page(inode, from);
@@@ -416,16 -416,15 +416,15 @@@ static void fill_zero(struct inode *ino
  {
        struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
        struct page *page;
-       int ilock;
  
        if (!len)
                return;
  
        f2fs_balance_fs(sbi);
  
-       ilock = mutex_lock_op(sbi);
+       f2fs_lock_op(sbi);
        page = get_new_data_page(inode, NULL, index, false);
-       mutex_unlock_op(sbi, ilock);
+       f2fs_unlock_op(sbi);
  
        if (!IS_ERR(page)) {
                wait_on_page_writeback(page);
@@@ -484,7 -483,6 +483,6 @@@ static int punch_hole(struct inode *ino
                        struct address_space *mapping = inode->i_mapping;
                        loff_t blk_start, blk_end;
                        struct f2fs_sb_info *sbi = F2FS_SB(inode->i_sb);
-                       int ilock;
  
                        f2fs_balance_fs(sbi);
  
                        truncate_inode_pages_range(mapping, blk_start,
                                        blk_end - 1);
  
-                       ilock = mutex_lock_op(sbi);
+                       f2fs_lock_op(sbi);
                        ret = truncate_hole(inode, pg_start, pg_end);
-                       mutex_unlock_op(sbi, ilock);
+                       f2fs_unlock_op(sbi);
                }
        }
  
@@@ -529,13 -527,12 +527,12 @@@ static int expand_inode_data(struct ino
  
        for (index = pg_start; index <= pg_end; index++) {
                struct dnode_of_data dn;
-               int ilock;
  
-               ilock = mutex_lock_op(sbi);
+               f2fs_lock_op(sbi);
                set_new_dnode(&dn, inode, NULL, NULL, 0);
                ret = get_dnode_of_data(&dn, index, ALLOC_NODE);
                if (ret) {
-                       mutex_unlock_op(sbi, ilock);
+                       f2fs_unlock_op(sbi);
                        break;
                }
  
                        ret = reserve_new_block(&dn);
                        if (ret) {
                                f2fs_put_dnode(&dn);
-                               mutex_unlock_op(sbi, ilock);
+                               f2fs_unlock_op(sbi);
                                break;
                        }
                }
                f2fs_put_dnode(&dn);
-               mutex_unlock_op(sbi, ilock);
+               f2fs_unlock_op(sbi);
  
                if (pg_start == pg_end)
                        new_size = offset + len;
@@@ -685,8 -682,8 +682,8 @@@ const struct file_operations f2fs_file_
        .llseek         = generic_file_llseek,
        .read           = do_sync_read,
        .write          = do_sync_write,
 -      .aio_read       = generic_file_aio_read,
 -      .aio_write      = generic_file_aio_write,
 +      .read_iter      = generic_file_read_iter,
 +      .write_iter     = generic_file_write_iter,
        .open           = generic_file_open,
        .mmap           = f2fs_file_mmap,
        .fsync          = f2fs_sync_file,