Whamcloud - gitweb
Update b_bug974 from HEAD (20040128_1901)
authoradilger <adilger>
Thu, 29 Jan 2004 03:51:34 +0000 (03:51 +0000)
committeradilger <adilger>
Thu, 29 Jan 2004 03:51:34 +0000 (03:51 +0000)
lustre/kernel_patches/patches/vfs_intent-2.4.21-chaos.patch
lustre/ptlrpc/ptlrpcd.c

index 6affaed..1ceb50d 100644 (file)
@@ -1605,9 +1605,9 @@ Index: linux-2.4.21-chaos/include/linux/dcache.h
 +      void (*d_unpin)(struct dentry *, struct vfsmount *, int);
  };
  
-+#define PIN(de,mnt,flag)  if (de->d_op && de->d_op->d_pin) \
++#define PIN(de,mnt,flag)  if (de && de->d_op && de->d_op->d_pin) \
 +                              de->d_op->d_pin(de, mnt, flag);
-+#define UNPIN(de,mnt,flag)  if (de->d_op && de->d_op->d_unpin) \
++#define UNPIN(de,mnt,flag)  if (de && de->d_op && de->d_op->d_unpin) \
 +                              de->d_op->d_unpin(de, mnt, flag);
 +
 +
index b7b9700..aff00b8 100644 (file)
@@ -67,12 +67,18 @@ static struct ptlrpcd_ctl {
 static DECLARE_MUTEX(ptlrpcd_sem);
 static int ptlrpcd_users = 0;
 
+void ptlrpcd_wake(void)
+{
+        struct ptlrpcd_ctl *pc = &ptlrpcd_pc;
+        wake_up(&pc->pc_waitq);
+}
+
 void ptlrpcd_add_req(struct ptlrpc_request *req)
 {
         struct ptlrpcd_ctl *pc = &ptlrpcd_pc;
 
         ptlrpc_set_add_new_req(pc->pc_set, req);
-        wake_up(&pc->pc_waitq);
+        ptlrpcd_wake();
 }
 
 static int ptlrpcd_check(struct ptlrpcd_ctl *pc)