diff options
| -rw-r--r-- | sys/kern/vfs_extattr.c | 5 | ||||
| -rw-r--r-- | sys/kern/vfs_syscalls.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c index b260d556ac72..f8397ab59bfb 100644 --- a/sys/kern/vfs_extattr.c +++ b/sys/kern/vfs_extattr.c @@ -3622,8 +3622,11 @@ fhopen(td, uap) * end of vn_open code */ - if ((error = falloc(td, &nfp, &indx)) != 0) + if ((error = falloc(td, &nfp, &indx)) != 0) { + if (fmode & FWRITE) + vp->v_writecount--; goto bad; + } fp = nfp; /* diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index b260d556ac72..f8397ab59bfb 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -3622,8 +3622,11 @@ fhopen(td, uap) * end of vn_open code */ - if ((error = falloc(td, &nfp, &indx)) != 0) + if ((error = falloc(td, &nfp, &indx)) != 0) { + if (fmode & FWRITE) + vp->v_writecount--; goto bad; + } fp = nfp; /* |
