+ 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);
+
+
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)