diff options
Diffstat (limited to 'api/src/glfs-fops.c')
| -rw-r--r-- | api/src/glfs-fops.c | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c index 9c31502d725..bbbf61dddfc 100644 --- a/api/src/glfs-fops.c +++ b/api/src/glfs-fops.c @@ -601,6 +601,9 @@ glfs_seek (struct glfs_fd *glfd, off_t offset, int whence)                  glfd->offset = off;  done: +        if (fd) +                fd_unref (fd); +          glfs_subvol_done (glfd->fs, subvol);  out: @@ -931,6 +934,9 @@ pub_glfs_preadv_async (struct glfs_fd *glfd, const struct iovec *iovec,  			   offset, flags, NULL);  out: +        if (fd) +                fd_unref (fd); +          if (ret) {                  if (glfd)                          GF_REF_PUT (glfd); @@ -1246,6 +1252,9 @@ pub_glfs_pwritev_async (struct glfs_fd *glfd, const struct iovec *iovec,          ret = 0;  out: +        if (fd) +                fd_unref (fd); +          if (ret) {                  if (glfd)                          GF_REF_PUT (glfd); @@ -1430,6 +1439,9 @@ glfs_fsync_async_common (struct glfs_fd *glfd, glfs_io_cbk fn, void *data,                             subvol->fops->fsync, fd, dataonly, NULL);  out: +        if (fd) +                fd_unref (fd); +          if (ret) {                  if (glfd)                          GF_REF_PUT (glfd); @@ -1681,6 +1693,9 @@ pub_glfs_ftruncate_async (struct glfs_fd *glfd, off_t offset, glfs_io_cbk fn,          ret = 0;  out: +        if (fd) +                fd_unref (fd); +          if (ret) {                  if (glfd)                          GF_REF_PUT (glfd); @@ -2537,6 +2552,9 @@ pub_glfs_discard_async (struct glfs_fd *glfd, off_t offset, size_t len,          ret = 0;  out: +        if (fd) +                fd_unref (fd); +          if (ret) {                  if (glfd)                          GF_REF_PUT (glfd); @@ -2622,6 +2640,9 @@ pub_glfs_zerofill_async (struct glfs_fd *glfd, off_t offset, off_t len,                             subvol->fops->zerofill, fd, offset, len, NULL);          ret = 0;  out: +        if (fd) +                fd_unref (fd); +          if (ret) {                  if (glfd)                          GF_REF_PUT (glfd);  | 
