Re: current BK boot failure, d_alloc()

Jens Axboe
2003-03-24T17:11:13Z

On Mon, Mar 24 2003, Randy.Dunlap wrote:
> > On Mon, Mar 24 2003, Jens Axboe wrote:
> >> Hi,
> >>
> >>
> [snip]
> >> craps out in memcpy() due to name->name == NULL
> >
> > smells like a compiler problem, with the following patch:
> >
> > ===== fs/dcache.c 1.43 vs edited =====
> > --- 1.43/fs/dcache.c Sat Mar 22 05:05:21 2003
> > +++ edited/fs/dcache.c Mon Mar 24 12:58:19 2003
> > @@ -784,7 +784,8 @@
> > struct dentry *res = NULL;
> >
> > if (root_inode) {
> > - res = d_alloc(NULL, &(const struct qstr) { "/", 1, 0 });
> > + struct qstr name = { .name = "/", .len = 1, .hash = 0 };
> > + res = d_alloc(NULL, &name);
> > if (res) {
> > res->d_sb = root_inode->i_sb;
> > res->d_parent = res;
> >
> > --
>
> what compiler, please?

gcc 3.3 pre-release, I cannot reproduce it in userspace though. I'll try
and take a look at the generated code.

--
Jens Axboe