commit | 01d8885785a60ae8f4c37b0ed75bdc96d0fc6a44 | [log] [tgz] |
---|---|---|
author | Jeff Mahoney <jeffm@suse.com> | Wed Apr 02 14:40:26 2014 -0400 |
committer | Jan Kara <jack@suse.cz> | Thu Apr 03 00:06:14 2014 +0200 |
tree | 212ac3940dc154fc2cffe0917c18e15e6e685ee3 | |
parent | 3e0d8a01043ded18711fe4a0a320e4491f580ce1 [diff] |
reiserfs: fix race in readdir 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: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Jan Kara <jack@suse.cz>