On Mon, Apr 01, 2013 at 10:33:41AM -0500, Eric Sandeen wrote: > + /* Have we already started readdir on this dx dir? */ > + if (filp->private_data) { > + err = -EINVAL; > + goto hash32bits_out; > + } I'm not sure how much we care, but if filp->private_data is non-NULL and filp->f_pos == 0, then the application must have called rewinddir(), and at that point it would be fair game for us to free the rb_tree (see the code in ext4_dx_readdir() just after the comment "Some one has messed with f_pos; reset the world".) This would allow a bit more flexibility than just requiring that the ioctl be issued just after the opendir(), and allow it just after a call to rewinddir(). This this would invalidate any previously issued telldir() cookies, but according to SuSv3, telldir() cookies are not guaranteed to be consistent after a rewinddir() or a closedir(), so it would be standards compliant to do this. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html