Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
build fixes for posix 2008 enviroment
[fs/lustre-release.git]
/
libsysio
/
src
/
file.c
diff --git
a/libsysio/src/file.c
b/libsysio/src/file.c
index
a346413
..
9ed054e
100644
(file)
--- a/
libsysio/src/file.c
+++ b/
libsysio/src/file.c
@@
-75,7
+75,8
@@
_sysio_fnew(struct inode *ino, int flags)
return NULL;
_SYSIO_FINIT(fil, ino, flags);
return NULL;
_SYSIO_FINIT(fil, ino, flags);
- I_REF(ino);
+ F_REF(fil);
+ I_REF(fil->f_ino);
return fil;
}
return fil;
}
@@
-92,6
+93,7
@@
_sysio_fgone(struct file *fil)
assert(fil->f_ino);
err = (*fil->f_ino->i_ops.inop_close)(fil->f_ino);
assert(!err);
assert(fil->f_ino);
err = (*fil->f_ino->i_ops.inop_close)(fil->f_ino);
assert(!err);
+ I_RELE(fil->f_ino);
free(fil);
}
free(fil);
}
@@
-147,7
+149,7
@@
fd_grow(size_t n)
return 0;
}
return 0;
}
-#if ZERO_SUM_MEMORY
+#if
def
ZERO_SUM_MEMORY
void
_sysio_fd_shutdown()
{
void
_sysio_fd_shutdown()
{
@@
-272,7
+274,7
@@
_sysio_fd_dup(int oldfd, int newfd, int force)
struct file *fil;
int fd;
struct file *fil;
int fd;
- if (oldfd == newfd)
+ if (oldfd == newfd
&& oldfd >= 0
)
return newfd;
fil = _sysio_fd_find(oldfd);
return newfd;
fil = _sysio_fd_find(oldfd);