[Bugs] [Bug 1158226] Inode infinite loop leads to glusterfsd segfault

bugzilla at redhat.com bugzilla at redhat.com
Wed Oct 29 08:33:31 UTC 2014


https://bugzilla.redhat.com/show_bug.cgi?id=1158226



--- Comment #2 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/8995 committed in master by Vijay Bellur
(vbellur at redhat.com) 
------
commit ef03f98bf9b5f7f317383b84d251299b8939e5cc
Author: Anand Avati <avati at redhat.com>
Date:   Tue Oct 28 14:05:06 2014 -0700

    inode: include dentry cycle checks for all existing inodes

    inode_link() has the responsibility of maintaining the DAGness of
    the dentry tree, and prevent cyclic loops from forming. To do this
    the technique used is to perform cyclic check only while linking
    inodes which already were linked in the inode table (i.e linking
    a new_inode() can never form a loop).

    While this was how it was supposed to be all along, the @old_inode
    variable was missed out to get updated if the given inode to inode_link
    itself was already linked (i.e, the code was only handling a complex
    case when the given new inode had a gfid which already existed)

    Without this patch, it is possible to call inode_link in a specific
    way which results in dentry loops.

    Change-Id: I4c87fa2d63f11e31c73d8b847e56962f6c983880
    BUG: 1158226
    Signed-off-by: Anand Avati <avati at redhat.com>
    Reviewed-on: http://review.gluster.org/8995
    Reviewed-by: Harshavardhana <harsha at harshavardhana.net>
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Raghavendra G <rgowdapp at redhat.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu at redhat.com>
    Tested-by: Pranith Kumar Karampuri <pkarampu at redhat.com>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list