Re: Oops with tmpfs on both 2.4.22 & 2.6.0-test11

Oleg Drokin
2003-11-30T21:21:47Z

Hello!

William Lee Irwin III <wli@holomorphy.com> wrote:

WLII> Could you try 2.6 with the following patch and send in the resulting
WLII> oops/BUG? Please turn on kallsyms for the run.
WLII> while (n && p != &file->f_dentry->d_subdirs) {
WLII> struct dentry *next;
WLII> next = list_entry(p, struct dentry, d_child);
WLII> + BUG_ON(!next);
WLII> if (!d_unhashed(next) && next->d_inode)
WLII> n--;
WLII> p = p->next;
WLII> }

This loop is never run since n is 0

WLII> + BUG_ON(!cursor);
WLII> list_del(&cursor->d_child);
WLII> list_add_tail(&cursor->d_child, p);

The problem seems to be because &cursor->d_child is equal to p,
so on list_del we zero p->prev, and then assign to p->prev->next in
list_add_tail.
&cursor->d_child is equal to p probably because we just created it this
way in dcache_dir_open()

Bye,
Oleg