lkml.org 
[lkml]   [2006]   [Jun]   [17]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    DateSat, 17 Jun 2006 14:16:01 +0400
    FromEvgeniy Dushistov <>
    Subject[PATCH 3/5]: ufs: fsync implementation
    At now, ufs doesn't support "fsync",
    this make some applications unhappy, for example vim.
    This patch fixes this situation.
    
    Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru>
    
    ---
    Index: linux-2.6.17-rc6-mm2/fs/ufs/file.c
    ===================================================================
    --- linux-2.6.17-rc6-mm2.orig/fs/ufs/file.c
    +++ linux-2.6.17-rc6-mm2/fs/ufs/file.c
    @@ -25,6 +25,26 @@
     
     #include <linux/fs.h>
     #include <linux/ufs_fs.h>
    +#include <linux/buffer_head.h>	/* for sync_mapping_buffers() */
    +
    +static int ufs_sync_file(struct file *file, struct dentry *dentry, int datasync)
    +{
    +	struct inode *inode = dentry->d_inode;
    +	int err;
    +	int ret;
    +
    +	ret = sync_mapping_buffers(inode->i_mapping);
    +	if (!(inode->i_state & I_DIRTY))
    +		return ret;
    +	if (datasync && !(inode->i_state & I_DIRTY_DATASYNC))
    +		return ret;
    +
    +	err = ufs_sync_inode(inode);
    +	if (ret == 0)
    +		ret = err;
    +	return ret;
    +}
    +
     
     /*
      * We have mostly NULL's here: the current defaults are ok for
    @@ -37,6 +57,7 @@ const struct file_operations ufs_file_op
     	.write		= generic_file_write,
     	.mmap		= generic_file_mmap,
     	.open           = generic_file_open,
    +	.fsync		= ufs_sync_file,
     	.sendfile	= generic_file_sendfile,
     };
     
    -- 
    /Evgeniy
    
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    
    
    \
     
     \ /
      Last update: 2006-06-17 12:13    [from the cache]
    ©2003-2008