mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
config: remove HAVE_FSYNC_RANGE
Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de> Signed-off-by: Rob Norris <robn@despairlabs.com> Closes #16479
This commit is contained in:
@@ -3748,8 +3748,7 @@ zfs_putpage(struct inode *ip, struct page *pp, struct writeback_control *wbc,
|
||||
/*
|
||||
* Speed up any non-sync page writebacks since
|
||||
* they may take several seconds to complete.
|
||||
* Refer to the comment in zpl_fsync() (when
|
||||
* HAVE_FSYNC_RANGE is defined) for details.
|
||||
* Refer to the comment in zpl_fsync() for details.
|
||||
*/
|
||||
if (atomic_load_32(&zp->z_async_writes_cnt) > 0) {
|
||||
zil_commit(zfsvfs->z_log, zp->z_id);
|
||||
|
||||
@@ -124,47 +124,6 @@ zpl_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
}
|
||||
#endif /* !HAVE_VFS_ITERATE && !HAVE_VFS_ITERATE_SHARED */
|
||||
|
||||
#if defined(HAVE_FSYNC_WITHOUT_DENTRY)
|
||||
/*
|
||||
* Linux 2.6.35 - 3.0 API,
|
||||
* As of 2.6.35 the dentry argument to the fops->fsync() hook was deemed
|
||||
* redundant. The dentry is still accessible via filp->f_path.dentry,
|
||||
* and we are guaranteed that filp will never be NULL.
|
||||
*/
|
||||
static int
|
||||
zpl_fsync(struct file *filp, int datasync)
|
||||
{
|
||||
struct inode *inode = filp->f_mapping->host;
|
||||
cred_t *cr = CRED();
|
||||
int error;
|
||||
fstrans_cookie_t cookie;
|
||||
|
||||
crhold(cr);
|
||||
cookie = spl_fstrans_mark();
|
||||
error = -zfs_fsync(ITOZ(inode), datasync, cr);
|
||||
spl_fstrans_unmark(cookie);
|
||||
crfree(cr);
|
||||
ASSERT3S(error, <=, 0);
|
||||
|
||||
return (error);
|
||||
}
|
||||
|
||||
#ifdef HAVE_FILE_AIO_FSYNC
|
||||
static int
|
||||
zpl_aio_fsync(struct kiocb *kiocb, int datasync)
|
||||
{
|
||||
return (zpl_fsync(kiocb->ki_filp, datasync));
|
||||
}
|
||||
#endif
|
||||
|
||||
#elif defined(HAVE_FSYNC_RANGE)
|
||||
/*
|
||||
* Linux 3.1 API,
|
||||
* As of 3.1 the responsibility to call filemap_write_and_wait_range() has
|
||||
* been pushed down in to the .fsync() vfs hook. Additionally, the i_mutex
|
||||
* lock is no longer held by the caller, for zfs we don't require the lock
|
||||
* to be held so we don't acquire it.
|
||||
*/
|
||||
static int
|
||||
zpl_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
|
||||
{
|
||||
@@ -237,10 +196,6 @@ zpl_aio_fsync(struct kiocb *kiocb, int datasync)
|
||||
}
|
||||
#endif
|
||||
|
||||
#else
|
||||
#error "Unsupported fops->fsync() implementation"
|
||||
#endif
|
||||
|
||||
static inline int
|
||||
zfs_io_flags(struct kiocb *kiocb)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user