diff options
author | Shehjar Tikoo <shehjart@zresearch.com> | 2009-05-11 18:24:21 +0530 |
---|---|---|
committer | Anand V. Avati <avati@amp.gluster.com> | 2009-05-18 19:13:08 +0530 |
commit | fe06790a3637c30dc8d5e0be7367f27ee24c36bd (patch) | |
tree | 0a3d6bc9dfa3e27e32e0890358059d6c0cc097f1 /glusterfs.spec.in | |
parent | 1279d7398c63bdad448cf0418579f6df1d9f6f34 (diff) | |
download | glusterfs-fe06790a3637c30dc8d5e0be7367f27ee24c36bd.tar.gz glusterfs-fe06790a3637c30dc8d5e0be7367f27ee24c36bd.tar.xz glusterfs-fe06790a3637c30dc8d5e0be7367f27ee24c36bd.zip |
libglusterfsclient: Wipe loc->ino in libgf_client_loc_wipe
Not cleaning up the ino member of a loc_t results in SIGABRT
in __inode_link because in some cases, the loc->ino is
different from loc->inode->ino. This happens especially in code
blocks which re-use a loc_t structure for pointing at different
inodes/files. For eg, if a loc_t has been assigned an inode and
an ino, and followed by a libgf_client_loc_wipe, then re-use of this
loc in say libgf_client_lookup results the SIGABRT because
libgf_client_lookup calls inode_link with the same loc_t. However,
this loc_t has just been assigned a new inode pointer but the ino
member still contains a previous inode's inode number. This difference
in inode numbers results in an assertion failure, so the SIGABRT.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
Diffstat (limited to 'glusterfs.spec.in')
0 files changed, 0 insertions, 0 deletions