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; }
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; }
/* 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; }
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 ; }