diff options
author | Pawel Jakub Dawidek <[email protected]> | 2022-05-02 16:26:28 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2022-05-02 16:26:28 -0700 |
commit | a64d757aa4d4796af540ebe2a098e82c94ccbfcf (patch) | |
tree | 163039db007c96aa2575e3e28b635a3738a7b9fb /module | |
parent | 159c6fd1540239120f9872d7f4cf8d340fc21c44 (diff) |
FreeBSD: Clean up the use of ioflags
- Prefer O_* flags over F* flags that mostly mirror O_* flags anyway,
but O_* flags seem to be preferred.
- Simplify the code as all the F*SYNC flags were defined as FFSYNC flag.
- Don't define FRSYNC flag, so we don't generate unnecessary ZIL commits.
- Remove EXCL define, FreeBSD ignores the excl argument for zfs_create()
anyway.
Reviewed-by: Allan Jude <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Pawel Jakub Dawidek <[email protected]>
Closes #13400
Diffstat (limited to 'module')
-rw-r--r-- | module/os/freebsd/zfs/zfs_vnops_os.c | 12 | ||||
-rw-r--r-- | module/os/freebsd/zfs/zvol_os.c | 12 |
2 files changed, 10 insertions, 14 deletions
diff --git a/module/os/freebsd/zfs/zfs_vnops_os.c b/module/os/freebsd/zfs/zfs_vnops_os.c index 6a5a7031c..e57855770 100644 --- a/module/os/freebsd/zfs/zfs_vnops_os.c +++ b/module/os/freebsd/zfs/zfs_vnops_os.c @@ -241,7 +241,7 @@ zfs_open(vnode_t **vpp, int flag, cred_t *cr) } /* Keep a count of the synchronous opens in the znode */ - if (flag & (FSYNC | FDSYNC)) + if (flag & O_SYNC) atomic_inc_32(&zp->z_sync_cnt); ZFS_EXIT(zfsvfs); @@ -259,7 +259,7 @@ zfs_close(vnode_t *vp, int flag, int count, offset_t offset, cred_t *cr) ZFS_VERIFY_ZP(zp); /* Decrement the synchronous opens in the znode */ - if ((flag & (FSYNC | FDSYNC)) && (count == 1)) + if ((flag & O_SYNC) && (count == 1)) atomic_dec_32(&zp->z_sync_cnt); ZFS_EXIT(zfsvfs); @@ -4402,11 +4402,11 @@ ioflags(int ioflags) int flags = 0; if (ioflags & IO_APPEND) - flags |= FAPPEND; + flags |= O_APPEND; if (ioflags & IO_NDELAY) - flags |= FNONBLOCK; + flags |= O_NONBLOCK; if (ioflags & IO_SYNC) - flags |= (FSYNC | FDSYNC | FRSYNC); + flags |= O_SYNC; return (flags); } @@ -4627,7 +4627,7 @@ zfs_freebsd_create(struct vop_create_args *ap) zfsvfs = ap->a_dvp->v_mount->mnt_data; *ap->a_vpp = NULL; - rc = zfs_create(VTOZ(ap->a_dvp), cnp->cn_nameptr, vap, !EXCL, mode, + rc = zfs_create(VTOZ(ap->a_dvp), cnp->cn_nameptr, vap, 0, mode, &zp, cnp->cn_cred, 0 /* flag */, NULL /* vsecattr */); if (rc == 0) *ap->a_vpp = ZTOV(zp); diff --git a/module/os/freebsd/zfs/zvol_os.c b/module/os/freebsd/zfs/zvol_os.c index 487778472..1011aaf68 100644 --- a/module/os/freebsd/zfs/zvol_os.c +++ b/module/os/freebsd/zfs/zvol_os.c @@ -311,15 +311,13 @@ retry: err = SET_ERROR(EBUSY); goto out_opened; } -#ifdef FEXCL - if (flag & FEXCL) { + if (flag & O_EXCL) { if (zv->zv_open_count != 0) { err = SET_ERROR(EBUSY); goto out_opened; } zv->zv_flags |= ZVOL_EXCL; } -#endif zv->zv_open_count += count; out_opened: @@ -952,18 +950,16 @@ retry: err = SET_ERROR(EBUSY); goto out_opened; } -#ifdef FEXCL - if (flags & FEXCL) { + if (flags & O_EXCL) { if (zv->zv_open_count != 0) { err = SET_ERROR(EBUSY); goto out_opened; } zv->zv_flags |= ZVOL_EXCL; } -#endif zv->zv_open_count++; - if (flags & (FSYNC | FDSYNC)) { + if (flags & O_SYNC) { zsd = &zv->zv_zso->zso_dev; zsd->zsd_sync_cnt++; if (zsd->zsd_sync_cnt == 1 && @@ -1037,7 +1033,7 @@ zvol_cdev_close(struct cdev *dev, int flags, int fmt, struct thread *td) * You may get multiple opens, but only one close. */ zv->zv_open_count--; - if (flags & (FSYNC | FDSYNC)) { + if (flags & O_SYNC) { zsd = &zv->zv_zso->zso_dev; zsd->zsd_sync_cnt--; } |