=== modified file 'includes/common.inc'
--- includes/common.inc	2010-09-25 02:00:06 +0000
+++ includes/common.inc	2010-09-26 13:16:31 +0000
@@ -4588,8 +4588,11 @@ function _drupal_bootstrap_full() {
   unicode_check();
   // Undo magic quotes
   fix_gpc_magic();
-  // Load all enabled modules
-  module_load_all();
+  $update_mode = defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'update';
+  if (!$update_mode) {
+    // Load all enabled modules
+    module_load_all();
+  }
   // Make sure all stream wrappers are registered.
   file_get_stream_wrappers();
 
@@ -4606,7 +4609,7 @@ function _drupal_bootstrap_full() {
 
   // Let all modules take action before the menu system handles the request.
   // We do not want this while running update.php.
-  if (!defined('MAINTENANCE_MODE') || MAINTENANCE_MODE != 'update') {
+  if (!$update_mode) {
     // Prior to invoking hook_init(), initialize the theme (potentially a custom
     // one for this page), so that:
     // - Modules with hook_init() implementations that call theme() or

=== modified file 'includes/update.inc'
--- includes/update.inc	2010-09-17 02:28:37 +0000
+++ includes/update.inc	2010-09-26 17:48:05 +0000
@@ -938,6 +938,9 @@ function update_batch($start, $redirect 
  * @see update_batch()
  */
 function update_finished($success, $results, $operations) {
+  module_list(TRUE);
+  module_load_all();
+  drupal_static_reset();
   // Clear the caches in case the data has been updated.
   drupal_flush_all_caches();
 

=== modified file 'modules/field/field.install'
--- modules/field/field.install	2010-09-13 05:50:08 +0000
+++ modules/field/field.install	2010-09-26 17:53:28 +0000
@@ -171,7 +171,7 @@ function field_schema() {
 /**
  * Utility function: create a field by writing directly to the database.
  *
- * This function is valid for a database schema version 7000.
+ * This function is valid for field module database schema version 7000.
  *
  * @ingroup update-api-6.x-to-7.x
  */
@@ -236,13 +236,14 @@ function _update_7000_field_create_field
   // incoming $field definition.
   $field['indexes'] += $schema['indexes'];
 
+  drupal_load('module', 'field_sql_storage');
   field_sql_storage_field_storage_create_field($field);
 }
 
 /**
  * Utility function: create a field instance directly to the database.
  *
- * This function is valid for a database schema version 7000.
+ * This function is valid for field module database schema version 7000.
  *
  * @ingroup update-api-6.x-to-7.x
  */

=== modified file 'modules/field/modules/field_sql_storage/field_sql_storage.install'
--- modules/field/modules/field_sql_storage/field_sql_storage.install	2010-02-15 18:43:00 +0000
+++ modules/field/modules/field_sql_storage/field_sql_storage.install	2010-09-26 17:51:37 +0000
@@ -33,6 +33,7 @@ function field_sql_storage_schema() {
   );
 
   // Dynamic (data) tables.
+  drupal_load('module', 'field');
   if (db_table_exists('field_config')) {
     $fields = field_read_fields(array(), array('include_deleted' => TRUE, 'include_inactive' => TRUE));
     drupal_load('module', 'field_sql_storage');
@@ -44,3 +45,80 @@ function field_sql_storage_schema() {
   }
   return $schema;
 }
+
+/**
+ * Utility function: write field data directly to the SQL storage.
+ *
+ * This function is valid for field_sql_storage database schema version 7000.
+ *
+ * @ingroup update-api-6.x-to-7.x
+ */
+function _update_7000_field_sql_storage_write($entity_type, $bundle, $entity_id, $revision_id, $field_name, $data) {
+  $etid = _field_sql_storage_etid($entity_type);
+  $table_name = "field_data_{$field_name}";
+  $revision_name = "field_revision_{$field_name}";
+
+  db_delete($table_name)
+    ->condition('etid', $etid)
+    ->condition('entity_id', $entity_id)
+    ->execute();
+  db_delete($revision_name)
+    ->condition('etid', $etid)
+    ->condition('entity_id', $entity_id)
+    ->condition('revision_id', $revision_id)
+    ->execute();
+
+  $columns = array();
+  foreach ($data as $langcode => $items) {
+    foreach ($items as $delta => $item) {
+      $record = array(
+        'etid' => $etid,
+        'entity_id' => $entity_id,
+        'revision_id' => $revision_id,
+        'bundle' => $bundle,
+        'delta' => $delta,
+        'language' => $langcode,
+      );
+      foreach ($item as $column => $value) {
+        $record[_field_sql_storage_columnname($field_name, $column)] = $value;
+      }
+
+      $records[] = $record;
+      // Record the columns used.
+      $columns += $record;
+    }
+  }
+
+  if ($columns) {
+    $query = db_insert($table_name)->fields(array_keys($columns));
+    $revision_query = db_insert($revision_name)->fields(array_keys($columns));
+    foreach ($records as $record) {
+      $query->values($record);
+      if ($revision_id) {
+        $revision_query->values($record);
+      }
+    }
+    $query->execute();
+    $revision_query->execute();
+  }
+}
+
+/**
+ * @defgroup field-sql-storage-updates-6.x-to-7.x Field SQL storage updates from 6.x to 7.x
+ * @{
+ */
+
+/**
+ * Field SQL storage update version placeholder.
+ */
+function field_sql_storage_update_7000() {
+  // _update_7000_field_sql_storage_write() is supposed to write field data
+  // according to the structure of field storage after running
+  // field_update_7000(). So this function needs to exist but as
+  // field_sql_storage is a new module in Drupal 7, it does not need to do
+  // anything.
+}
+
+/**
+ * @} End of "defgroup field-updates-6.x-to-7.x"
+ */

=== modified file 'modules/node/node.install'
--- modules/node/node.install	2010-09-13 05:50:08 +0000
+++ modules/node/node.install	2010-09-26 13:16:16 +0000
@@ -482,10 +482,9 @@ function node_update_7004() {
   // Map old preview setting to new values order.
   $original_preview ? $original_preview = 2 : $original_preview = 1;
   drupal_static_reset('_node_types_build');
-  $type_list = node_type_get_types();
 
   // Apply original settings to all types.
-  foreach ($type_list as $type => $entity) {
+  foreach (_update_7000_node_get_types() as $type => $type_object) {
     variable_set('teaser_length_' . $type, $original_length);
     variable_set('node_preview_' . $type, $original_preview);
   }
@@ -514,18 +513,27 @@ function node_update_7006(&$sandbox) {
 
   // Get node type info for every invocation.
   drupal_static_reset('_node_types_build');
-  $node_types = node_type_get_types();
 
   if (!isset($sandbox['total'])) {
     // Initial invocation.
 
+    // First, create the body field.
+    $body_field = array(
+      'field_name' => 'body',
+      'type' => 'text_with_summary',
+      'module' => 'text',
+      'cardinality' => 1,
+      'entity_types' => array('node'),
+      'translatable' => TRUE,
+    );
+    _update_7000_field_create_field($body_field);
+
+    $default_trim_length = variable_get('teaser_length', 600);
+
     // Get node type info, specifically the body field settings.
-    $result = db_select('node_type', 'node_type')
-      ->fields('node_type')
-      ->execute();
-    foreach ($result as $type_object) {
-      $node_types[$type_object->type] = $type_object;
-    }
+    $node_types = _update_7000_node_get_types();
+
+    // Create default settings for orphan nodes.
     $extra_types = db_query('SELECT DISTINCT type FROM {node} WHERE type NOT IN (:types)', array(':types' => array_keys($node_types)))->fetchCol();
     foreach ($extra_types as $type) {
       $type_object = new stdClass;
@@ -538,26 +546,38 @@ function node_update_7006(&$sandbox) {
       $node_types[$type_object->type] = $type_object;
     }
 
-    $default_trim_length = variable_get('teaser_length', 600);
     // Add body field instances for existing node types.
     foreach ($node_types as $node_type) {
       if ($node_type->has_body) {
-        $instance = node_add_body_field($node_type, $node_type->body_label);
-        // Update newly created instance to convert teaser_length variable
-        // into formatter settings.
         $trim_length = variable_get('teaser_length_' . $node_type->type, $default_trim_length);
-        $instance_changed = FALSE;
-        foreach ($instance['display'] as $view_mode => $view_mode_info) {
-          if ($view_mode_info['type'] == 'text_trimmed' || $view_mode_info['type'] == 'text_summary_or_trimmed') {
-            if (!isset($view_mode_info['settings']['trim_length'])) {
-              $instance['display'][$view_mode]['settings']['trim_length'] = $trim_length;
-              $instance_changed = TRUE;
-            }
-          }
-        }
-        if ($instance_changed) {
-          field_update_instance($instance);
-        }
+
+        $instance = array(
+          'entity_type' => 'node',
+          'bundle' => $node_type->type,
+          'label' => $node_type->body_label,
+          'widget' => array(
+            'type' => 'text_textarea_with_summary',
+            'settings' => array(
+              'rows' => 20,
+              'summary_rows' => 5,
+            ),
+            'weight' => -4,
+            'module' => 'text',
+          ),
+          'settings' => array('display_summary' => TRUE),
+          'display' => array(
+            'default' => array(
+              'label' => 'hidden',
+              'type' => 'text_default',
+            ),
+            'teaser' => array(
+              'label' => 'hidden',
+              'type' => 'text_summary_or_trimmed',
+              'trim_length' => $trim_length,
+            ),
+          ),
+        );
+        _update_7000_field_create_instance($body_field, $instance);
         variable_del('teaser_length_' . $node_type->type);
       }
       // Leave 'teaser_length' variable for aggregator module upgrade.
@@ -574,14 +594,12 @@ function node_update_7006(&$sandbox) {
     $query = db_select('node', 'n');
     $query->join('node_revision', 'nr', 'n.vid = nr.vid');
     $sandbox['total'] = $query->countQuery()->execute()->fetchField();
+
+    $sandbox['body_field_id'] = $body_field['id'];
   }
   else {
     // Subsequent invocations.
 
-    // Grab the body field ID for field_sql_storage_field_storage_write().
-    $body_field = field_info_field('body');
-    $body_field_id = $body_field['id'];
-
     $found = FALSE;
     if ($sandbox['total']) {
       // Operate on every revision of every node (whee!), in batches.
@@ -632,7 +650,7 @@ function node_update_7006(&$sandbox) {
           $node->body[$langcode][0]['format'] = !empty($revision->format) ? $revision->format : variable_get('filter_default_format', 1);
           // This is a core update and no contrib modules are enabled yet, so
           // we can assume default field storage for a faster update.
-          field_sql_storage_field_storage_write('node', $node, FIELD_STORAGE_INSERT, array($body_field_id));
+          _update_7000_field_sql_storage_write('node', $node->type, $node->nid, $node->vid, 'body', $node->body);
         }
 
         // Migrate the status columns to the {node_revision} table.
@@ -684,7 +702,7 @@ function node_update_7007() {
 function node_update_7008() {
   $roles = user_roles(FALSE, 'administer nodes');
   foreach ($roles as $rid => $role) {
-    user_role_grant_permissions($rid, array('access content overview'));
+    _update_7000_user_role_grant_permissions($rid, array('access content overview'), 'node');
   }
 }
 

=== modified file 'modules/system/system.install'
--- modules/system/system.install	2010-09-24 21:20:31 +0000
+++ modules/system/system.install	2010-09-26 17:54:54 +0000
@@ -2483,8 +2483,6 @@ function system_update_7053() {
       ->execute();
   }
 
-  block_flush_caches();
-
   // Show the new menu blocks along the navigation block.
   $blocks = db_query("SELECT theme, status, region, weight, visibility, pages FROM {block} WHERE module = 'system' AND delta = 'navigation'");
   $deltas = db_or()
@@ -2683,132 +2681,163 @@ function system_update_7059() {
 }
 
 /**
- * Migrate upload.module to file.module.
+ * Create fields in preparation for migrating upload.module to file.module.
  */
-function system_update_7060(&$sandbox) {
+function system_update_7060() {
   if (!db_table_exists('upload')) {
     return;
   }
 
-  if (!isset($sandbox['progress'])) {
-    // Initialize batch update information.
-    $sandbox['progress'] = 0;
-    $sandbox['last_vid_processed'] = -1;
-    $sandbox['max'] = db_query("SELECT COUNT(DISTINCT u.vid) FROM {upload} u")->fetchField();
-
-    // Check which node types have upload.module attachments enabled.
-    $context['types'] = array();
-    foreach (node_type_get_types() as $node_type => $node_info) {
-      if (variable_get('upload_' . $node_type, 1)) {
-        $context['types'][$node_type] = $node_type;
-      }
-      variable_del('upload_' . $node_type);
+  // Check which node types have upload.module attachments enabled.
+  $context['types'] = array();
+  foreach (_update_7000_node_get_types() as $node_type) {
+    if (variable_get('upload_' . $node_type->type, 0)) {
+      $context['types'][$node_type->type] = $node_type->type;
     }
+  }
 
-    // The {upload} table will be deleted when this update is complete so we
-    // want to be careful to migrate all the data, even for node types that
-    // may have had attachments disabled after files were uploaded. Look for
-    // any other node types referenced by the upload records and add those to
-    // the list. The admin can always remove the field later.
-    $results = db_query('SELECT DISTINCT type FROM {node} n INNER JOIN {upload} u ON n.vid = u.vid');
-    foreach ($results as $row) {
-      if (!isset($context['types'][$row->type])) {
-        drupal_set_message(t('The content type %rowtype had uploads disabled but contained uploaded file data. Uploads have been re-enabled to migrate the existing data. You may delete the "File attachments" field in the %rowtype type if this data is not necessary.', array('%rowtype' => $row->type)));
-        $context['types'][$row->type] = $row->type;
-      }
+  // The {upload} table will be deleted when this update is complete so we
+  // want to be careful to migrate all the data, even for node types that
+  // may have had attachments disabled after files were uploaded. Look for
+  // any other node types referenced by the upload records and add those to
+  // the list. The admin can always remove the field later.
+  $results = db_query('SELECT DISTINCT type FROM {node} n INNER JOIN {node_revision} nr ON n.nid = nr.nid INNER JOIN {upload} u ON nr.vid = u.vid');
+  foreach ($results as $row) {
+    if (!isset($context['types'][$row->type])) {
+      drupal_set_message(t('The content type %rowtype had uploads disabled but contained uploaded file data. Uploads have been re-enabled to migrate the existing data. You may delete the "File attachments" field in the %rowtype type if this data is not necessary.', array('%rowtype' => $row->type)));
+      $context['types'][$row->type] = $row->type;
     }
+  }
 
-    // Create a single "field_upload" field on all the content types that have
-    // uploads enabled, then add an instance to each enabled type.
-    if (count($context['types']) > 0) {
-      module_enable(array('file'));
-      module_load_include('inc', 'field', 'field.crud');
-
-      $field = array(
-        'field_name' => 'file',
-        'type' => 'file',
-        'locked' => FALSE,
-        'cardinality' => FIELD_CARDINALITY_UNLIMITED,
-        'translatable' => FALSE,
+  // Create a single "upload" field on all the content types that have uploads
+  // enabled, then add an instance to each enabled type.
+  if (count($context['types']) > 0) {
+    module_enable(array('file'));
+    module_load_include('inc', 'field', 'field.crud');
+
+    $field = array(
+      'field_name' => 'upload',
+      'type' => 'file',
+      'module' => 'file',
+      'locked' => FALSE,
+      'cardinality' => FIELD_CARDINALITY_UNLIMITED,
+      'translatable' => FALSE,
+      'settings' => array(
+        'display_field' => 1,
+        'display_default' => variable_get('upload_list_default', 1),
+        'uri_scheme' => file_default_scheme(),
+        'default_file' => 0,
+      ),
+    );
+
+    $upload_size = variable_get('upload_uploadsize_default', 1);
+    $instance = array(
+      'field_name' => 'upload',
+      'entity_type' => 'node',
+      'bundle' => NULL,
+      'label' => 'File attachments',
+      'required' => 0,
+      'description' => '',
+      'widget' => array(
+        'weight' => '1',
         'settings' => array(
-          'display_field' => 1,
-          'display_default' => variable_get('upload_list_default', 1),
-          'uri_scheme' => file_default_scheme(),
-          'default_file' => 0,
+          'progress_indicator' => 'throbber',
         ),
-      );
-
-      $upload_size = variable_get('upload_uploadsize_default', 1);
-      $instance = array(
-        'field_name' => 'file',
-        'entity_type' => 'node',
-        'bundle' => NULL,
-        'label' => 'File attachments',
-        'widget_type' => 'file_generic',
-        'required' => 0,
-        'description' => '',
-        'widget' => array(
-          'weight' => '1',
-          'settings' => array(
-            'progress_indicator' => 'throbber',
-          ),
-          'type' => 'file_generic',
+        'type' => 'file_generic',
+      ),
+      'settings' => array(
+        'max_filesize' => $upload_size ? ($upload_size . ' MB') : '',
+        'file_extensions' => variable_get('upload_extensions_default', 'jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp'),
+        'file_directory' => '',
+        'description_field' => 1,
+      ),
+      'display' => array(
+        'default' => array(
+          'label' => 'hidden',
+          'type' => 'hidden',
+          'settings' => array(),
+          'weight' => 0,
+          'module' => 'file',
         ),
-        'settings' => array(
-          'max_filesize' => $upload_size ? ($upload_size . ' MB') : '',
-          'file_extensions' => variable_get('upload_extensions_default', 'jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp'),
-          'file_directory' => '',
-          'description_field' => 1,
+        'full' => array(
+          'label' => 'hidden',
+          'type' => 'file_table',
+          'settings' => array(),
+          'weight' => 0,
+          'module' => 'file',
+        ),
+        'teaser' => array(
+          'label' => 'hidden',
+          'type' => 'hidden',
+          'settings' => array(),
+          'weight' => 0,
+          'module' => NULL,
         ),
-        'display' => array(
-          'full' => array(
-            'label' => 'hidden',
-            'type' => 'file_table',
-            'settings' => array(),
-            'weight' => 0,
-            'module' => 'file',
-          ),
-          'teaser' => array(
-            'label' => 'hidden',
-            'type' => 'hidden',
-            'settings' => array(),
-            'weight' => 0,
-            'module' => NULL,
-          ),
-          'rss' => array(
-            'label' => 'hidden',
-            'type' => 'file_table',
-            'settings' => array(),
-            'weight' => 0,
-            'module' => 'file',
-          ),
+        'rss' => array(
+          'label' => 'hidden',
+          'type' => 'file_table',
+          'settings' => array(),
+          'weight' => 0,
+          'module' => 'file',
         ),
-      );
+      ),
+    );
 
-      // Create the field. Save the field id for the data insertion later on.
-      $field = field_create_field($field);
-      $sandbox['field_id'] = $field['id'];
+    // Create the field.
+    $field_instance = field_info_field('file');
+    if (empty($field_instance)) {
+      _update_7000_field_create_field($field);
+    }
+    else {
+      $field = $field_instance;
+    }
 
-      // Create the instances.
-      foreach ($context['types'] as $bundle) {
+    // Create the instances.
+    foreach ($context['types'] as $bundle) {
+      if (!field_info_instance('node', 'file', $bundle)) {
         $instance['bundle'] = $bundle;
-        field_create_instance($instance);
+        _update_7000_field_create_instance($field, $instance);
+        // Now that the instance is created, we can safely delete any legacy
+        // node type information.
+        variable_del('upload_' . $bundle);
       }
     }
-    else {
-      // No uploads or content types with uploads enabled.
-      db_drop_table('upload');
-      // We're done: return without specifying a #progress.
-      return;
-    }
   }
+  else {
+    // No uploads or content types with uploads enabled.
+    db_drop_table('upload');
+  }
+}
+
+/**
+ * Migrate upload.module data to the newly created file field.
+ */
+function system_update_7061(&$sandbox) {
+  if (!db_table_exists('upload')) {
+    return;
+  }
+
+  if (!isset($sandbox['progress'])) {
+    // Initialize batch update information.
+    $sandbox['progress'] = 0;
+    $sandbox['last_vid_processed'] = -1;
+    $sandbox['max'] = db_query("SELECT COUNT(DISTINCT u.vid) FROM {upload} u")->fetchField();
+  }
+  
+  $node_revisions = array();
+
+  // Determine vids for this batch.
+  // Process all files attached to a given revision during the same batch.
+  $limit = 100;
+  $vids = db_query_range('SELECT DISTINCT vid FROM {upload} WHERE vid > :lastvid ORDER BY vid', 0, $limit, array(':lastvid' => $sandbox['last_vid_processed']))
+    ->fetchCol();
 
-  // Migrate a batch of files from the upload table to the appropriate field.
-  $limit = 500;
-  $result = db_query_range('SELECT DISTINCT u.fid, u.vid, u.list, u.description, n.nid, n.type FROM {upload} u INNER JOIN {node_revision} nr ON u.vid = nr.vid INNER JOIN {node} n ON n.nid = nr.nid WHERE u.vid > :lastvid ORDER BY u.vid, u.weight', 0, $limit, array(':lastvid' => $sandbox['last_vid_processed']));
+  // Retrieve information on all the files attached to these revisions.
+  $result = db_query('SELECT u.fid, u.vid, u.list, u.description, n.nid, n.type, u.weight FROM {upload} u INNER JOIN {node_revision} nr ON u.vid = nr.vid INNER JOIN {node} n ON n.nid = nr.nid WHERE u.vid IN (:vids) ORDER BY u.vid, u.weight', array(':vids' => $vids));
   foreach ($result as $record) {
-    // Note that we still reference the old files table here, since upload will
-    // not know about the new FID in the new file_managed table.
+    // For each uploaded file, retrieve the corresponding data from the old
+    // files table (since upload doesn't know about the new entry in the
+    // file_managed table).
     $file = db_select('files', 'f')
       ->fields('f', array('fid', 'uid', 'filename', 'filepath', 'filemime', 'filesize', 'status', 'timestamp'))
       ->condition('f.fid', $record->fid)
@@ -2818,24 +2847,21 @@ function system_update_7060(&$sandbox) {
       continue;
     }
 
+    // Add in the file information from the upload table.
     $file['description'] = $record->description;
     $file['display'] = $record->list;
+    $file['weight'] = $record->weight;
 
+    // Create one record for each revision that contains all the uploaded files.
     $node_revisions[$record->vid]['nid'] = $record->nid;
     $node_revisions[$record->vid]['vid'] = $record->vid;
     $node_revisions[$record->vid]['type'] = $record->type;
     $node_revisions[$record->vid]['file'][LANGUAGE_NONE][] = $file;
   }
 
-  // To make sure we process an entire node all at once, toss the last node
-  // revision (which might be partial) unless it's the last one.
-  if ((count($node_revisions) > 1) && ($result->rowCount() == $limit)) {
-    array_pop($node_revisions);
-  }
-  else {
-    $finished = TRUE;
-  }
-
+  // Now that we know which files belong to which revisions, update the files'
+  // database entries, and save a reference to each file in the upload field on
+  // their node revisions.
   $basename = variable_get('file_directory_path', conf_path() . '/files');
   $scheme = file_default_scheme() . '://';
   foreach ($node_revisions as $vid => $revision) {
@@ -2863,23 +2889,30 @@ function system_update_7060(&$sandbox) {
         ))
         ->execute();
 
-      // Update the node field with the file URI.
-      $revision['file'][LANGUAGE_NONE][$delta] = $file;
-
       // Add the usage entry for the file.
       $file = (object) $file;
       file_usage_add($file, 'file', 'node', $revision['nid']);
+
+      // Update the node revision's upload file field with the file data.
+      $revision['file'][LANGUAGE_NONE][$delta] = array('fid' => $file->fid, 'display' => $file->display, 'description' => $file->description);
     }
 
-    // Insert the revision's files into the field_upload table.
+    // Write the revision's upload field data into the field_upload tables.
     $node = (object) $revision;
-    field_sql_storage_field_storage_write('node', $node, FIELD_STORAGE_INSERT, array($sandbox['field_id']));
+    _update_7000_field_sql_storage_write('node', $node->type, $node->nid, $node->vid, 'upload', $node->file);
 
     // Update our progress information for the batch update.
     $sandbox['progress']++;
     $sandbox['last_vid_processed'] = $vid;
   }
 
+  // If less than limit node revisions were processed, the update process is
+  // finished.
+  if (count($node_revisions) < $limit) {
+    $finished = TRUE;
+  }
+
+
   // If there's no max value then there's nothing to update and we're finished.
   if (empty($sandbox['max']) || isset($finished)) {
     db_drop_table('upload');
@@ -2894,7 +2927,7 @@ function system_update_7060(&$sandbox) {
 /**
  * Replace 'system_list' index with 'bootstrap' index on {system}.
  */
-function system_update_7061() {
+function system_update_7062() {
   db_drop_index('system', 'bootstrap');
   db_drop_index('system', 'system_list');
   db_add_index('system', 'system_list', array('status', 'bootstrap', 'type', 'weight', 'name'));

=== modified file 'update.php'
--- update.php	2010-05-18 18:11:12 +0000
+++ update.php	2010-09-26 17:18:17 +0000
@@ -380,8 +380,8 @@ include_once DRUPAL_ROOT . '/includes/un
 
 update_fix_d7_requirements();
 
-// Now proceed with a full bootstrap.
-
+// Now proceed with a full bootstrap
+module_list(TRUE, FALSE, FALSE, array());
 drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
 drupal_maintenance_theme();
 

