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/
This archive was generated by hypermail 2b29 : Tue May 07 2002 - 22:00:23 EST