Example #1
0
int reiserfs_dir_fsync(struct file *filp, struct dentry *dentry, int datasync) {
  struct inode *inode = dentry->d_inode;
  reiserfs_write_lock(inode->i_sb);
  reiserfs_commit_for_inode(inode) ;
  reiserfs_write_unlock(inode->i_sb) ;
  return 0 ;
}
static int reiserfs_sync_file(
			      struct file   * p_s_filp,
			      struct dentry * p_s_dentry,
			      int datasync
			      ) {
  struct inode * p_s_inode = p_s_dentry->d_inode;
  int n_err;

  reiserfs_write_lock(p_s_inode->i_sb);

  if (!S_ISREG(p_s_inode->i_mode))
      BUG ();

  n_err = sync_mapping_buffers(p_s_inode->i_mapping) ;
  reiserfs_commit_for_inode(p_s_inode) ;
  reiserfs_write_unlock(p_s_inode->i_sb);
  return ( n_err < 0 ) ? -EIO : 0;
}
Example #3
0
static int reiserfs_dir_fsync(struct file *filp, loff_t start, loff_t end,
			      int datasync)
{
	struct inode *inode = filp->f_mapping->host;
	int err;

	err = filemap_write_and_wait_range(inode->i_mapping, start, end);
	if (err)
		return err;

	mutex_lock(&inode->i_mutex);
	reiserfs_write_lock(inode->i_sb);
	err = reiserfs_commit_for_inode(inode);
	reiserfs_write_unlock(inode->i_sb);
	mutex_unlock(&inode->i_mutex);
	if (err < 0)
		return err;
	return 0;
}
Example #4
0
/* Sync a reiserfs file. */
static int reiserfs_sync_file(
			      struct file   * p_s_filp,
			      struct dentry * p_s_dentry,
			      int datasync
			      ) {
  struct inode * p_s_inode = p_s_dentry->d_inode;
  int n_err;

  lock_kernel() ;

  if (!S_ISREG(p_s_inode->i_mode))
      BUG ();

  n_err = fsync_inode_buffers(p_s_inode) ;
  n_err |= fsync_inode_data_buffers(p_s_inode);
  reiserfs_commit_for_inode(p_s_inode) ;
  unlock_kernel() ;
  return ( n_err < 0 ) ? -EIO : 0;
}
Example #5
0
int reiserfs_dir_fsync(struct file *filp, struct dentry *dentry, int datasync) {
  lock_kernel();
  reiserfs_commit_for_inode(dentry->d_inode) ;
  unlock_kernel() ;
  return 0 ;
}