]> git.hungrycats.org Git - linux/commitdiff
[PATCH] cleanup sync_buffers()
authorAndrew Morton <akpm@zip.com.au>
Tue, 30 Apr 2002 06:54:28 +0000 (23:54 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Tue, 30 Apr 2002 06:54:28 +0000 (23:54 -0700)
Renames sync_buffers() to sync_blockdev() and removes its (never used)
second argument.

Removes fsync_no_super() in favour of direct calls to sync_blockdev().

fs/block_dev.c
fs/buffer.c
fs/ext3/super.c
fs/jbd/recovery.c
fs/jfs/jfs_logmgr.c
include/linux/buffer_head.h
kernel/ksyms.c

index 5add2e4911d08e3507aa7e827fb5dae17b8b7ec3..cd8ecc79536c6ab3aab3f2f6efed33ea533a3214 100644 (file)
@@ -84,7 +84,7 @@ int set_blocksize(kdev_t dev, int size)
 
        /* Ok, we're actually changing the blocksize.. */
        bdev = bdget(kdev_t_to_nr(dev));
-       sync_buffers(bdev, 2);
+       sync_blockdev(bdev);
        blksize_size[major(dev)][minor(dev)] = size;
        bdev->bd_inode->i_blkbits = blksize_bits(size);
        kill_bdev(bdev);
@@ -180,11 +180,6 @@ static loff_t block_llseek(struct file *file, loff_t offset, int origin)
        return retval;
 }
        
-static int __block_fsync(struct inode * inode)
-{
-       return sync_buffers(inode->i_bdev, 1);
-}
-
 /*
  *     Filp may be NULL when we are called by an msync of a vma
  *     since the vma has no handle.
@@ -194,7 +189,7 @@ static int block_fsync(struct file *filp, struct dentry *dentry, int datasync)
 {
        struct inode * inode = dentry->d_inode;
 
-       return __block_fsync(inode);
+       return sync_blockdev(inode->i_bdev);
 }
 
 /*
@@ -693,10 +688,8 @@ int blkdev_put(struct block_device *bdev, int kind)
        lock_kernel();
        switch (kind) {
        case BDEV_FILE:
-               __block_fsync(bd_inode);
-               break;
        case BDEV_FS:
-               fsync_no_super(bdev);
+               sync_blockdev(bd_inode->i_bdev);
                break;
        }
        if (!--bdev->bd_openers)
index 9f1660083c257a7216544f68ee12d86068c2bf92..2fda0396498a9f89c7b5e11a27fe82dd507a9b0b 100644 (file)
@@ -203,42 +203,27 @@ void end_buffer_io_sync(struct buffer_head *bh, int uptodate)
 }
 
 /*
- * write out all the dirty data associated with a block device
- * via its mapping.  Does not take the superblock lock.
- *
- * If `wait' is true, wait on the writeout.
- *
- * FIXME: rename this function.
+ * Write out and wait upon all the dirty data associated with a block
+ * device via its mapping.  Does not take the superblock lock.
  */
-int sync_buffers(struct block_device *bdev, int wait)
+int sync_blockdev(struct block_device *bdev)
 {
-       int ret;
+       int ret = 0;
 
-       ret = filemap_fdatawrite(bdev->bd_inode->i_mapping);
-       if (wait) {
+       if (bdev) {
                int err;
 
+               ret = filemap_fdatawait(bdev->bd_inode->i_mapping);
+               err = filemap_fdatawrite(bdev->bd_inode->i_mapping);
+               if (!ret)
+                       ret = err;
                err = filemap_fdatawait(bdev->bd_inode->i_mapping);
                if (!ret)
                        ret = err;
        }
        return ret;
 }
-
-/*
- * Write out all the dirty data associated with a block device
- * via its mapping.  Does not take the superblock lock.
- *
- * Wait on the writeout.
- */
-int fsync_no_super(struct block_device *bdev)
-{
-       int ret = 0;
-
-       if (bdev)
-               ret = sync_buffers(bdev, 1);
-       return ret;
-}
+EXPORT_SYMBOL(sync_blockdev);
 
 /*
  * Write out and wait upon all dirty data associated with this
@@ -254,7 +239,7 @@ int fsync_super(struct super_block *sb)
                sb->s_op->write_super(sb);
        unlock_super(sb);
 
-       return fsync_no_super(sb->s_bdev);
+       return sync_blockdev(sb->s_bdev);
 }
 
 /*
@@ -270,7 +255,7 @@ int fsync_bdev(struct block_device *bdev)
                drop_super(sb);
                return res;
        }
-       return fsync_no_super(bdev);
+       return sync_blockdev(bdev);
 }
 
 /*
@@ -324,7 +309,7 @@ int file_fsync(struct file *filp, struct dentry *dentry, int datasync)
        unlock_super(sb);
 
        /* .. finally sync the buffers to disk */
-       ret = sync_buffers(sb->s_bdev, 1);
+       ret = sync_blockdev(sb->s_bdev);
        return ret;
 }
 
index 4f742c2affa4b9c279c22c0beff646044caf6ebd..f5f2088c708e70689c8fc0ff6b06b524d05106f9 100644 (file)
@@ -438,7 +438,7 @@ void ext3_put_super (struct super_block * sb)
                 * floating about in memory - the physical journal device may
                 * hotswapped, and it breaks the `ro-after' testing code.
                 */
-               fsync_no_super(sbi->journal_bdev);
+               sync_blockdev(sbi->journal_bdev);
                invalidate_bdev(sbi->journal_bdev, 0);
                ext3_blkdev_remove(sbi);
        }
index 89be120c1d212026fa7ab5be68e51403e07de6b3..d32693a96bea1b27bc217d0c0818243261b389af 100644 (file)
@@ -260,7 +260,7 @@ int journal_recover(journal_t *journal)
        journal->j_transaction_sequence = ++info.end_transaction;
                
        journal_clear_revoke(journal);
-       fsync_no_super(journal->j_fs_dev);
+       sync_blockdev(journal->j_fs_dev);
        return err;
 }
 
index 2fb6ffabc71410484e81d6b8e348ebbaebb06abd..513b1682aea77908fda3933ad16cc2bbf666ac64 100644 (file)
@@ -1432,7 +1432,7 @@ static int lmLogShutdown(log_t * log)
         * We need to make sure all of the "written" metapages
         * actually make it to disk
         */
-       fsync_no_super(log->sb->s_bdev);
+       sync_blockdev(log->sb->s_bdev);
 
        /*
         * write the last SYNCPT record with syncpoint = 0
index 59fe771f9eb81646f1d13e7cf20a26613ca18064..f9158122b3f7b09edf6b2d22ea71dc697c69d645 100644 (file)
@@ -161,7 +161,7 @@ void set_buffer_async_io(struct buffer_head *bh);
 void invalidate_inode_buffers(struct inode *);
 void invalidate_bdev(struct block_device *, int);
 void __invalidate_buffers(kdev_t dev, int);
-int sync_buffers(struct block_device *, int);
+int sync_blockdev(struct block_device *bdev);
 void __wait_on_buffer(struct buffer_head *);
 void sleep_on_buffer(struct buffer_head *bh);
 void wake_up_buffer(struct buffer_head *bh);
index 44d30bf0041cf89916506e29fc84add16ea0ea02..2dcb08756890ef60bc1089e205bed9f29ddad655 100644 (file)
@@ -184,7 +184,6 @@ EXPORT_SYMBOL(invalidate_inode_pages);
 EXPORT_SYMBOL(truncate_inode_pages);
 EXPORT_SYMBOL(fsync_dev);
 EXPORT_SYMBOL(fsync_bdev);
-EXPORT_SYMBOL(fsync_no_super);
 EXPORT_SYMBOL(permission);
 EXPORT_SYMBOL(vfs_permission);
 EXPORT_SYMBOL(inode_setattr);