Messages in this thread | | | Date | Sat, 04 May 2002 16:56:01 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH-2.5.13] NTFS 2.0.6 Bugfix/adapt to 2.5.12 changes |
| |
Anton Altaparmakov wrote: > > Hi, > > I have just sent the below NTFS update to Linus for inclusion. Andrew > Morton's changes to 2.5.12 broke NTFS because they added fields to > struct address_space which ntfs obviously wasn't initializing...
Sorry about that, Chief. ra_pages, presumably. That's one which *has* to be initialised.
I've added quite a lot of "if you didn't provide one then I'll do the default" code, but that's an interim step - later, all the address_spaces need to be populated with the right stuff.
> ... > + /* Initialize the mftbmp address space mapping. */ > + INIT_RADIX_TREE(&vol->mftbmp_mapping.page_tree, GFP_ATOMIC); > + rwlock_init(&vol->mftbmp_mapping.page_lock); > + INIT_LIST_HEAD(&vol->mftbmp_mapping.clean_pages); > + INIT_LIST_HEAD(&vol->mftbmp_mapping.dirty_pages); > + INIT_LIST_HEAD(&vol->mftbmp_mapping.locked_pages); > + INIT_LIST_HEAD(&vol->mftbmp_mapping.io_pages); > + vol->mftbmp_mapping.nrpages = 0; > + vol->mftbmp_mapping.a_ops = NULL; > + vol->mftbmp_mapping.host = NULL; > + INIT_LIST_HEAD(&vol->mftbmp_mapping.i_mmap); > + INIT_LIST_HEAD(&vol->mftbmp_mapping.i_mmap_shared); > + spin_lock_init(&vol->mftbmp_mapping.i_shared_lock); > + vol->mftbmp_mapping.dirtied_when = 0; > + vol->mftbmp_mapping.gfp_mask = GFP_HIGHUSER;
That's all generic code. It's initialising core kernel fields. If should be done in the core kernel.
It would be better to split the address_space initialisation parts out of inode_init_once(), and export the new function...
- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |