From: Miklos S. <mi...@sz...> - 2014-06-13 14:05:58
|
On Mon, Jun 9, 2014 at 11:40 AM, Eric Wong <nor...@yh...> wrote: > Requiring offset for readdirplus usage is an unnecessary burden for > users. We just need to preserve the fuse_entry_param.ino field for > the kernel to properly add stat attributes into the kernel. Not enough to preserve it, since there's refcounting involved (node->nlookup). The current patch will work for the most common case when the directory is opened, fully read and then closed. If, however, the directory is only read partially (e.g. closing in the middle) or if some sections are read multiple times (seekdir back to a non-zero offset then continue) then the refcounting will be broken and we will either get use-after-free or leaked memory depending on which of the above cases happens. So please test these complicated cases as well. I'm sure there are existing tests (e.g. have a look in LTP and xfstests). Thanks, Miklos |