Whamcloud - gitweb
b=290,311
authorpschwan <pschwan>
Thu, 7 Nov 2002 04:23:31 +0000 (04:23 +0000)
committerpschwan <pschwan>
Thu, 7 Nov 2002 04:23:31 +0000 (04:23 +0000)
- call obd_cancel_unused with the correct parameters
- only call it for regular files (those with non-NULL lli->lli_smd)

lustre/llite/super.c

index 4a13a11..7635fc8 100644 (file)
@@ -352,6 +352,7 @@ static void ll_put_super(struct super_block *sb)
 static void ll_clear_inode(struct inode *inode)
 {
         struct ll_sb_info *sbi = ll_i2sbi(inode);
+        struct ll_inode_info *lli = ll_i2info(inode);
         int rc;
         ENTRY;
 
@@ -361,14 +362,16 @@ static void ll_clear_inode(struct inode *inode)
                 /* XXX FIXME do something dramatic */
         }
 
-        rc = obd_cancel_unused(&sbi->ll_osc_conn, inode, LDLM_FL_NO_CALLBACK);
-        if (rc < 0) {
-                CERROR("obd_cancel_unused: %d\n", rc);
-                /* XXX FIXME do something dramatic */
+        if (lli->lli_smd) {
+                rc = obd_cancel_unused(&sbi->ll_osc_conn, lli->lli_smd,
+                                       LDLM_FL_NO_CALLBACK);
+                if (rc < 0) {
+                        CERROR("obd_cancel_unused: %d\n", rc);
+                        /* XXX FIXME do something dramatic */
+                }
         }
 
         if (atomic_read(&inode->i_count) == 0) {
-                struct ll_inode_info *lli = ll_i2info(inode);
                 struct lov_stripe_md *lsm = lli->lli_smd;
                 char *symlink_name = lli->lli_symlink_name;