• Jeff Mahoney's avatar
    reiserfs: fix race in readdir · 01d88857
    Jeff Mahoney authored
    jdm-20004 reiserfs_delete_xattrs: Couldn't delete all xattrs (-2)
    
    The -ENOENT is due to readdir calling dir_emit on the same entry twice.
    
    If the dir_emit callback sleeps and the tree is changed underneath us,
    we won't be able to trust deh_offset(deh) anymore. We need to save
    next_pos before we might sleep so we can find the next entry.
    
    CC: stable@vger.kernel.org
    Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    01d88857
dir.c 8.97 KB