Whamcloud - gitweb
Branch HEAD
authoradilger <adilger>
Thu, 10 May 2007 18:38:51 +0000 (18:38 +0000)
committeradilger <adilger>
Thu, 10 May 2007 18:38:51 +0000 (18:38 +0000)
Apply the rest of the __iget() changes for patchless clients to
compile out the now-unnecessary parts of the code.
b=12391
i=scjody
i=green

lustre/ChangeLog
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c

index 7bb2653..58f4891 100644 (file)
@@ -10,7 +10,7 @@ tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        (see https://mail.clusterfs.com/wikis/lustre/PatchlessClient)
        2.6.16 - 2.6.19 vanilla (kernel.org)
        2.6.9-42.0.8.EL (RHEL 4)
-       * Recommended e2fsprogs version: 1.39.cfs6
+       * Recommended e2fsprogs version: 1.39.cfs7
        * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
        * bug fixes
 
@@ -95,12 +95,21 @@ Details    : the default for reading the health_check proc file has changed
        * bug fixes
 
 Severity   : normal
-Frequency  : on some architectures     
+Frequency  : on some architectures
 Bugzilla   : 12404
 Description: 1.6 client sometimes fails to mount from a 1.4 MDT
 Details    : Uninitialized flags sometimes cause configuration commands to
             be skipped.
-       
+
+Severity   : normal
+Frequency  : patchless clients only
+Bugzilla   : 12391
+Description: missing __iget() symbol export
+Details    : The __iget() symbol export is missing.  To avoid the need for
+            this on patchless clients the deathrow inode reaper is turned
+            off, and we depend on the VM to clean up old inodes.  This
+            dependency was during via the fix for bug 12181.
+
 --------------------------------------------------------------------------------
 
 2007-04-19  Cluster File Systems, Inc. <info@clusterfs.com>
@@ -379,7 +388,7 @@ Bugzilla   : 11149
 Description: QOS code breaks on skipped indicies
 Details    : Add checks for missing OST indicies in the QOS code, so OSTs
             created with --index need not be sequential.
-       
+
 Severity   : enhancement
 Bugzilla   : 11264
 Description: Add uninit_groups feature to ldiskfs2 to speed up e2fsck
@@ -472,7 +481,7 @@ Frequency  : always
 Bugzilla   : 3244
 Description: Addition of EXT3_FEATURE_RO_COMPAT_DIR_NLINKS flag for
             > 32000 subdirectories
-Details    : Add EXT3_FEATURE_RO_COMPAT_DIR_NLINK flag to 
+Details    : Add EXT3_FEATURE_RO_COMPAT_DIR_NLINK flag to
             EXT3_FEATURE_RO_COMPAT_SUPP. This flag will be set whenever
             subdirectory count crosses 32000. This will aid e2fsck to
             correctly handle more than 32000 subdirectories.
@@ -689,8 +698,8 @@ Frequency  : MDS failover only, very rarely
 Bugzilla   : 11277
 Description: clients may get ASSERTION(granted_lock != NULL)
 Details    : When request was taking a long time, and a client was resending
-            a getattr by name lock request. The were multiple lock requests 
-            with the same client lock handle and 
+            a getattr by name lock request. The were multiple lock requests
+            with the same client lock handle and
             mds_getattr_name->fixup_handle_for_resent_request found one of the
             lock handles but later failed with ASSERTION(granted_lock != NULL).
 
@@ -723,7 +732,7 @@ Frequency  : NFS re-export or patchless client
 Bugzilla   : 10796
 Description: Various nfs/patchless fixes.
 Details    : fixes reuse disconected alias for lookup process - this fixes
-            warning "find_exported_dentry: npd != pd", 
+            warning "find_exported_dentry: npd != pd",
             fix permission error with open files at nfs.
             fix apply umask when do revalidate.
 
index c72815c..0d3e52b 100644 (file)
@@ -255,8 +255,10 @@ struct ll_sb_info {
         unsigned int              ll_namelen;
         struct file_operations   *ll_fop;
 
+#ifdef HAVE_EXPORT___IGET
         struct list_head          ll_deathrow; /* inodes to be destroyed (b1443) */
         spinlock_t                ll_deathrow_lock;
+#endif
         /* =0 - hold lock over whole read/write
          * >0 - max. chunk to be read/written w/o lock re-acquiring */
         unsigned long             ll_max_rw_chunk;
index 9e935d0..872fafd 100644 (file)
@@ -83,8 +83,10 @@ static struct ll_sb_info *ll_init_sbi(void)
         list_add_tail(&sbi->ll_list, &ll_super_blocks);
         spin_unlock(&ll_sb_lock);
 
+#ifdef HAVE_EXPORT___IGET
         INIT_LIST_HEAD(&sbi->ll_deathrow);
         spin_lock_init(&sbi->ll_deathrow_lock);
+#endif
         for (i = 0; i < LL_PROCESS_HIST_MAX; i++) { 
                 spin_lock_init(&sbi->ll_rw_extents_info.pp_extents[i].pp_r_hist.oh_lock);
                 spin_lock_init(&sbi->ll_rw_extents_info.pp_extents[i].pp_w_hist.oh_lock);
@@ -453,6 +455,7 @@ void lustre_throw_orphan_dentries(struct super_block *sb)
 #define lustre_throw_orphan_dentries(sb)
 #endif
 
+#ifdef HAVE_EXPORT___IGET
 static void prune_dir_dentries(struct inode *inode)
 {
         struct dentry *dentry, *prev = NULL;
@@ -545,6 +548,9 @@ static void prune_deathrow(struct ll_sb_info *sbi, int try)
 
         } while (empty == 0);
 }
+#else /* !HAVE_EXPORT___IGET */
+#define prune_deathrow(sbi, try) do {} while (0)
+#endif /* HAVE_EXPORT___IGET */
 
 void client_common_put_super(struct super_block *sb)
 {
@@ -1143,9 +1149,11 @@ void ll_clear_inode(struct inode *inode)
 
         lli->lli_inode_magic = LLI_INODE_DEAD;
 
+#ifdef HAVE_EXPORT___IGET
         spin_lock(&sbi->ll_deathrow_lock);
         list_del_init(&lli->lli_dead_list);
         spin_unlock(&sbi->ll_deathrow_lock);
+#endif
 
         EXIT;
 }