diff options
-rw-r--r-- | module/zfs/zfs_vnops.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c index 107211f83..5b47cba7f 100644 --- a/module/zfs/zfs_vnops.c +++ b/module/zfs/zfs_vnops.c @@ -220,7 +220,11 @@ zfs_close(struct inode *ip, int flag, cred_t *cr) ZFS_ENTER(zsb); ZFS_VERIFY_ZP(zp); - /* Decrement the synchronous opens in the znode */ + /* + * Zero the synchronous opens in the znode. Under Linux the + * zfs_close() hook is not symmetric with zfs_open(), it is + * only called once when the last reference is dropped. + */ if (flag & O_SYNC) zp->z_sync_cnt = 0; |