]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
rename the generic fsync implementations
authorChristoph Hellwig <hch@lst.de>
Wed, 26 May 2010 15:53:41 +0000 (17:53 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 28 May 2010 02:06:06 +0000 (22:06 -0400)
We don't name our generic fsync implementations very well currently.
The no-op implementation for in-memory filesystems currently is called
simple_sync_file which doesn't make too much sense to start with,
the the generic one for simple filesystems is called simple_fsync
which can lead to some confusion.

This patch renames the generic file fsync method to generic_file_fsync
to match the other generic_file_* routines it is supposed to be used
with, and the no-op implementation to noop_fsync to make it obvious
what to expect.  In addition add some documentation for both methods.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
23 files changed:
arch/powerpc/platforms/cell/spufs/inode.c
fs/adfs/dir.c
fs/adfs/file.c
fs/bfs/dir.c
fs/ext2/file.c
fs/ext4/fsync.c
fs/fat/file.c
fs/hugetlbfs/inode.c
fs/libfs.c
fs/minix/dir.c
fs/minix/file.c
fs/omfs/file.c
fs/qnx4/dir.c
fs/ramfs/file-mmu.c
fs/ramfs/file-nommu.c
fs/sysv/dir.c
fs/sysv/file.c
fs/udf/dir.c
fs/udf/file.c
fs/ufs/dir.c
fs/ufs/file.c
include/linux/fs.h
mm/shmem.c

index fc1b1c42b1dce10ff94a8491b788d7a51862350d..e5e5f823d6870fece5c4a4ba3c918597ca3f9c0b 100644 (file)
@@ -251,7 +251,7 @@ const struct file_operations spufs_context_fops = {
        .llseek         = dcache_dir_lseek,
        .read           = generic_read_dir,
        .readdir        = dcache_readdir,
-       .fsync          = simple_sync_file,
+       .fsync          = noop_fsync,
 };
 EXPORT_SYMBOL_GPL(spufs_context_fops);
 
index 23aa52f548a068d8c23f00a8cbc10293975924ee..f4287e4de744093d8f71d10a1e443057befe6e22 100644 (file)
@@ -197,7 +197,7 @@ const struct file_operations adfs_dir_operations = {
        .read           = generic_read_dir,
        .llseek         = generic_file_llseek,
        .readdir        = adfs_readdir,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
 };
 
 static int
index 005ea34d1758d12e07bb64d0f4a82f5974e566ff..a36da5382b40dc9c09ab6aa59762d9c1a7808b72 100644 (file)
@@ -26,7 +26,7 @@ const struct file_operations adfs_file_operations = {
        .read           = do_sync_read,
        .aio_read       = generic_file_aio_read,
        .mmap           = generic_file_mmap,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
        .write          = do_sync_write,
        .aio_write      = generic_file_aio_write,
        .splice_read    = generic_file_splice_read,
index 8f73841fc97402d068d05d96c3e142bfc3579a4f..d967e052b779d80490e08e097f5849ddc88ae48d 100644 (file)
@@ -78,7 +78,7 @@ static int bfs_readdir(struct file *f, void *dirent, filldir_t filldir)
 const struct file_operations bfs_dir_operations = {
        .read           = generic_read_dir,
        .readdir        = bfs_readdir,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
        .llseek         = generic_file_llseek,
 };
 
index 48bcfc327014a7376bac70a136856fd80bddf9ac..d82e7ca93455d4603b830a96d9d14838ec9dcbe2 100644 (file)
@@ -46,7 +46,7 @@ int ext2_fsync(struct file *file, int datasync)
        struct super_block *sb = file->f_mapping->host->i_sb;
        struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping;
 
-       ret = simple_fsync(file, datasync);
+       ret = generic_file_fsync(file, datasync);
        if (ret == -EIO || test_and_clear_bit(AS_EIO, &mapping->flags)) {
                /* We don't really know where the IO error happened... */
                ext2_error(sb, __func__,
index 40f345201737ec9a914dcaaf9e2dcd210a6a7314..592adf2e546e0726f3d0b6fd34165dd3c769a815 100644 (file)
@@ -91,7 +91,7 @@ int ext4_sync_file(struct file *file, int datasync)
                return ret;
 
        if (!journal) {
-               ret = simple_fsync(file, datasync);
+               ret = generic_file_fsync(file, datasync);
                if (!ret && !list_empty(&inode->i_dentry))
                        ext4_sync_parent(inode);
                return ret;
index 29a576944374c1239534e53a10cbb47c7311e815..8c13b8acfd2fd66a47e4e44d571926e0dbff03d7 100644 (file)
@@ -154,7 +154,7 @@ int fat_file_fsync(struct file *filp, int datasync)
        struct inode *inode = filp->f_mapping->host;
        int res, err;
 
-       res = simple_fsync(filp, datasync);
+       res = generic_file_fsync(filp, datasync);
        err = sync_mapping_buffers(MSDOS_SB(inode->i_sb)->fat_inode->i_mapping);
 
        return res ? res : err;
index a0bbd3d1b41a29338fe9cef80e8da032f44b15fe..a4e9a7ec3691a4066deb8948da3aacd12606b896 100644 (file)
@@ -688,7 +688,7 @@ static void init_once(void *foo)
 const struct file_operations hugetlbfs_file_operations = {
        .read                   = hugetlbfs_read,
        .mmap                   = hugetlbfs_file_mmap,
-       .fsync                  = simple_sync_file,
+       .fsync                  = noop_fsync,
        .get_unmapped_area      = hugetlb_get_unmapped_area,
 };
 
index e57ea58bda68cd5adc82d75864d1ead23ad28dc0..b84d0a7a2204372fd8b55aa713fca8234b74b939 100644 (file)
@@ -58,11 +58,6 @@ struct dentry *simple_lookup(struct inode *dir, struct dentry *dentry, struct na
        return NULL;
 }
 
-int simple_sync_file(struct file *file, int datasync)
-{
-       return 0;
-}
 int dcache_dir_open(struct inode *inode, struct file *file)
 {
        static struct qstr cursor_name = {.len = 1, .name = "."};
@@ -190,7 +185,7 @@ const struct file_operations simple_dir_operations = {
        .llseek         = dcache_dir_lseek,
        .read           = generic_read_dir,
        .readdir        = dcache_readdir,
-       .fsync          = simple_sync_file,
+       .fsync          = noop_fsync,
 };
 
 const struct inode_operations simple_dir_inode_operations = {
@@ -851,7 +846,16 @@ struct dentry *generic_fh_to_parent(struct super_block *sb, struct fid *fid,
 }
 EXPORT_SYMBOL_GPL(generic_fh_to_parent);
 
-int simple_fsync(struct file *file, int datasync)
+/**
+ * generic_file_fsync - generic fsync implementation for simple filesystems
+ * @file:      file to synchronize
+ * @datasync:  only synchronize essential metadata if true
+ *
+ * This is a generic implementation of the fsync method for simple
+ * filesystems which track all non-inode metadata in the buffers list
+ * hanging off the address_space structure.
+ */
+int generic_file_fsync(struct file *file, int datasync)
 {
        struct writeback_control wbc = {
                .sync_mode = WB_SYNC_ALL,
@@ -872,7 +876,15 @@ int simple_fsync(struct file *file, int datasync)
                ret = err;
        return ret;
 }
-EXPORT_SYMBOL(simple_fsync);
+EXPORT_SYMBOL(generic_file_fsync);
+
+/*
+ * No-op implementation of ->fsync for in-memory filesystems.
+ */
+int noop_fsync(struct file *file, int datasync)
+{
+       return 0;
+}
 
 EXPORT_SYMBOL(dcache_dir_close);
 EXPORT_SYMBOL(dcache_dir_lseek);
@@ -895,7 +907,7 @@ EXPORT_SYMBOL(simple_release_fs);
 EXPORT_SYMBOL(simple_rename);
 EXPORT_SYMBOL(simple_rmdir);
 EXPORT_SYMBOL(simple_statfs);
-EXPORT_SYMBOL(simple_sync_file);
+EXPORT_SYMBOL(noop_fsync);
 EXPORT_SYMBOL(simple_unlink);
 EXPORT_SYMBOL(simple_read_from_buffer);
 EXPORT_SYMBOL(simple_write_to_buffer);
index 6198731d7fcd4750132be0b77693bf91c91a7f29..aaab97ec5bc0040e4bd71f74a469fd2e2821c390 100644 (file)
@@ -22,7 +22,7 @@ const struct file_operations minix_dir_operations = {
        .llseek         = generic_file_llseek,
        .read           = generic_read_dir,
        .readdir        = minix_readdir,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
 };
 
 static inline void dir_put_page(struct page *page)
index 3eec3e607a87837415b21c1c383dad0ec8d711e8..d5320ff23faf28c38678cd12dfb25f1db24ca4d4 100644 (file)
@@ -19,7 +19,7 @@ const struct file_operations minix_file_operations = {
        .write          = do_sync_write,
        .aio_write      = generic_file_aio_write,
        .mmap           = generic_file_mmap,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
        .splice_read    = generic_file_splice_read,
 };
 
index 399487c093646a86ea910756d127d53e4e813668..6e7a3291bbe8df21a5b5213939e757a9333c6917 100644 (file)
@@ -329,7 +329,7 @@ const struct file_operations omfs_file_operations = {
        .aio_read = generic_file_aio_read,
        .aio_write = generic_file_aio_write,
        .mmap = generic_file_mmap,
-       .fsync = simple_fsync,
+       .fsync = generic_file_fsync,
        .splice_read = generic_file_splice_read,
 };
 
index 3d3fd46921336e7f6b2c73ffc93b64480d24167f..6e8fc62b40a8c4142351ebc5c23a958c9d9b412e 100644 (file)
@@ -80,7 +80,7 @@ const struct file_operations qnx4_dir_operations =
        .llseek         = generic_file_llseek,
        .read           = generic_read_dir,
        .readdir        = qnx4_readdir,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
 };
 
 const struct inode_operations qnx4_dir_inode_operations =
index 78f613cb9c7638529f9a587c3d65e69f3154841f..50020501c5ebaf9bde9dddaa28f5b7ea0e40d625 100644 (file)
@@ -43,7 +43,7 @@ const struct file_operations ramfs_file_operations = {
        .write          = do_sync_write,
        .aio_write      = generic_file_aio_write,
        .mmap           = generic_file_mmap,
-       .fsync          = simple_sync_file,
+       .fsync          = noop_fsync,
        .splice_read    = generic_file_splice_read,
        .splice_write   = generic_file_splice_write,
        .llseek         = generic_file_llseek,
index 5ea4ad81a429c24e5be49fbb1fc7317b4431d91f..869f2d80183d9908e3913b6f29e010752673708d 100644 (file)
@@ -42,7 +42,7 @@ const struct file_operations ramfs_file_operations = {
        .aio_read               = generic_file_aio_read,
        .write                  = do_sync_write,
        .aio_write              = generic_file_aio_write,
-       .fsync                  = simple_sync_file,
+       .fsync                  = noop_fsync,
        .splice_read            = generic_file_splice_read,
        .splice_write           = generic_file_splice_write,
        .llseek                 = generic_file_llseek,
index 1dabed286b4cf061a34c8521f5b1e44b81147089..79941e4964a4eda4b1a55255fddbc2b6e1d853ef 100644 (file)
@@ -24,7 +24,7 @@ const struct file_operations sysv_dir_operations = {
        .llseek         = generic_file_llseek,
        .read           = generic_read_dir,
        .readdir        = sysv_readdir,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
 };
 
 static inline void dir_put_page(struct page *page)
index 96340c01f4a7f4757aaaf62830c66b4a122cb134..750cc22349bd67b509da4985f631321a4962f6b3 100644 (file)
@@ -26,7 +26,7 @@ const struct file_operations sysv_file_operations = {
        .write          = do_sync_write,
        .aio_write      = generic_file_aio_write,
        .mmap           = generic_file_mmap,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
        .splice_read    = generic_file_splice_read,
 };
 
index 1660c81ffa3d6df6dfc816441656279cdc4bcc32..51552bf50225aa207835e92c964a3d677d3731f0 100644 (file)
@@ -211,5 +211,5 @@ const struct file_operations udf_dir_operations = {
        .read                   = generic_read_dir,
        .readdir                = udf_readdir,
        .unlocked_ioctl         = udf_ioctl,
-       .fsync                  = simple_fsync,
+       .fsync                  = generic_file_fsync,
 };
index baae3a723946e5b89d9a9cb90b576e4716113b7e..0660280aa18075c6c353514c040bf920c215df92 100644 (file)
@@ -224,7 +224,7 @@ const struct file_operations udf_file_operations = {
        .write                  = do_sync_write,
        .aio_write              = udf_file_aio_write,
        .release                = udf_release_file,
-       .fsync                  = simple_fsync,
+       .fsync                  = generic_file_fsync,
        .splice_read            = generic_file_splice_read,
        .llseek                 = generic_file_llseek,
 };
index 317a0d444f6b32e82f79a80c90900e67a3da7f08..ec784756dc6597d97f67444380bcaeb81ac74283 100644 (file)
@@ -666,6 +666,6 @@ not_empty:
 const struct file_operations ufs_dir_operations = {
        .read           = generic_read_dir,
        .readdir        = ufs_readdir,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
        .llseek         = generic_file_llseek,
 };
index a8962cecde5bd6645c13525d4fa0fd8106f5d6dc..d4c30d1bef8648f048290bb67cd257deb203032f 100644 (file)
@@ -42,6 +42,6 @@ const struct file_operations ufs_file_operations = {
        .aio_write      = generic_file_aio_write,
        .mmap           = generic_file_mmap,
        .open           = dquot_file_open,
-       .fsync          = simple_fsync,
+       .fsync          = generic_file_fsync,
        .splice_read    = generic_file_splice_read,
 };
index eb39e5eb77f5a4aea52206179e9af0e5d98be3f6..acf6c52a50dd76ed6f4f02fb72a39b8280d26caa 100644 (file)
@@ -2348,7 +2348,7 @@ extern int simple_link(struct dentry *, struct inode *, struct dentry *);
 extern int simple_unlink(struct inode *, struct dentry *);
 extern int simple_rmdir(struct inode *, struct dentry *);
 extern int simple_rename(struct inode *, struct dentry *, struct inode *, struct dentry *);
-extern int simple_sync_file(struct file *, int);
+extern int noop_fsync(struct file *, int);
 extern int simple_empty(struct dentry *);
 extern int simple_readpage(struct file *file, struct page *page);
 extern int simple_write_begin(struct file *file, struct address_space *mapping,
@@ -2373,7 +2373,7 @@ extern ssize_t simple_read_from_buffer(void __user *to, size_t count,
 extern ssize_t simple_write_to_buffer(void *to, size_t available, loff_t *ppos,
                const void __user *from, size_t count);
 
-extern int simple_fsync(struct file *, int);
+extern int generic_file_fsync(struct file *, int);
 
 #ifdef CONFIG_MIGRATION
 extern int buffer_migrate_page(struct address_space *,
index 855eaf5b8d5bd964d4af0f6d1280d347b9490e8d..4daf8cecf4225ab53f256ef5f1b57f76916fe8c3 100644 (file)
@@ -2433,7 +2433,7 @@ static const struct file_operations shmem_file_operations = {
        .write          = do_sync_write,
        .aio_read       = shmem_file_aio_read,
        .aio_write      = generic_file_aio_write,
-       .fsync          = simple_sync_file,
+       .fsync          = noop_fsync,
        .splice_read    = generic_file_splice_read,
        .splice_write   = generic_file_splice_write,
 #endif