• Home
  • Raw
  • Download

Lines Matching refs:info

32 	struct dlm_plock_info info;  member
37 static inline void set_version(struct dlm_plock_info *info) in set_version() argument
39 info->version[0] = DLM_PLOCK_VERSION_MAJOR; in set_version()
40 info->version[1] = DLM_PLOCK_VERSION_MINOR; in set_version()
41 info->version[2] = DLM_PLOCK_VERSION_PATCH; in set_version()
44 static int check_version(struct dlm_plock_info *info) in check_version() argument
46 if ((DLM_PLOCK_VERSION_MAJOR != info->version[0]) || in check_version()
47 (DLM_PLOCK_VERSION_MINOR < info->version[1])) { in check_version()
53 info->version[0], in check_version()
54 info->version[1], in check_version()
55 info->version[2]); in check_version()
69 set_version(&op->info); in send_op()
83 static void do_unlock_close(const struct dlm_plock_info *info) in do_unlock_close() argument
91 op->info.optype = DLM_PLOCK_OP_UNLOCK; in do_unlock_close()
92 op->info.pid = info->pid; in do_unlock_close()
93 op->info.fsid = info->fsid; in do_unlock_close()
94 op->info.number = info->number; in do_unlock_close()
95 op->info.start = 0; in do_unlock_close()
96 op->info.end = OFFSET_MAX; in do_unlock_close()
97 op->info.owner = info->owner; in do_unlock_close()
99 op->info.flags |= DLM_PLOCK_FL_CLOSE; in do_unlock_close()
121 op->info.optype = DLM_PLOCK_OP_LOCK; in dlm_posix_lock()
122 op->info.pid = fl->fl_pid; in dlm_posix_lock()
123 op->info.ex = (fl->fl_type == F_WRLCK); in dlm_posix_lock()
124 op->info.wait = IS_SETLKW(cmd); in dlm_posix_lock()
125 op->info.fsid = ls->ls_global_id; in dlm_posix_lock()
126 op->info.number = number; in dlm_posix_lock()
127 op->info.start = fl->fl_start; in dlm_posix_lock()
128 op->info.end = fl->fl_end; in dlm_posix_lock()
140 op->info.owner = (__u64) fl->fl_pid; in dlm_posix_lock()
153 op->info.owner = (__u64)(long) fl->fl_owner; in dlm_posix_lock()
165 (unsigned long long)number, op->info.pid); in dlm_posix_lock()
167 do_unlock_close(&op->info); in dlm_posix_lock()
179 rv = op->info.rv; in dlm_posix_lock()
207 (unsigned long long)op->info.number); in dlm_plock_callback()
218 if (op->info.rv) { in dlm_plock_callback()
219 notify(fl, op->info.rv); in dlm_plock_callback()
235 (unsigned long long)op->info.number, file, fl); in dlm_plock_callback()
282 op->info.optype = DLM_PLOCK_OP_UNLOCK; in dlm_posix_unlock()
283 op->info.pid = fl->fl_pid; in dlm_posix_unlock()
284 op->info.fsid = ls->ls_global_id; in dlm_posix_unlock()
285 op->info.number = number; in dlm_posix_unlock()
286 op->info.start = fl->fl_start; in dlm_posix_unlock()
287 op->info.end = fl->fl_end; in dlm_posix_unlock()
289 op->info.owner = (__u64) fl->fl_pid; in dlm_posix_unlock()
291 op->info.owner = (__u64)(long) fl->fl_owner; in dlm_posix_unlock()
294 op->info.flags |= DLM_PLOCK_FL_CLOSE; in dlm_posix_unlock()
311 rv = op->info.rv; in dlm_posix_unlock()
342 op->info.optype = DLM_PLOCK_OP_GET; in dlm_posix_get()
343 op->info.pid = fl->fl_pid; in dlm_posix_get()
344 op->info.ex = (fl->fl_type == F_WRLCK); in dlm_posix_get()
345 op->info.fsid = ls->ls_global_id; in dlm_posix_get()
346 op->info.number = number; in dlm_posix_get()
347 op->info.start = fl->fl_start; in dlm_posix_get()
348 op->info.end = fl->fl_end; in dlm_posix_get()
350 op->info.owner = (__u64) fl->fl_pid; in dlm_posix_get()
352 op->info.owner = (__u64)(long) fl->fl_owner; in dlm_posix_get()
368 rv = op->info.rv; in dlm_posix_get()
375 fl->fl_type = (op->info.ex) ? F_WRLCK : F_RDLCK; in dlm_posix_get()
377 fl->fl_pid = op->info.pid; in dlm_posix_get()
378 if (op->info.nodeid != dlm_our_nodeid()) in dlm_posix_get()
380 fl->fl_start = op->info.start; in dlm_posix_get()
381 fl->fl_end = op->info.end; in dlm_posix_get()
396 struct dlm_plock_info info; in dev_read() local
399 if (count < sizeof(info)) in dev_read()
405 if (op->info.flags & DLM_PLOCK_FL_CLOSE) in dev_read()
409 memcpy(&info, &op->info, sizeof(info)); in dev_read()
420 if (op->info.flags & DLM_PLOCK_FL_CLOSE) in dev_read()
423 if (copy_to_user(u, &info, sizeof(info))) in dev_read()
425 return sizeof(info); in dev_read()
434 struct dlm_plock_info info; in dev_write() local
437 if (count != sizeof(info)) in dev_write()
440 if (copy_from_user(&info, u, sizeof(info))) in dev_write()
443 if (check_version(&info)) in dev_write()
453 if (info.wait) { in dev_write()
455 if (iter->info.fsid == info.fsid && in dev_write()
456 iter->info.number == info.number && in dev_write()
457 iter->info.owner == info.owner && in dev_write()
458 iter->info.pid == info.pid && in dev_write()
459 iter->info.start == info.start && in dev_write()
460 iter->info.end == info.end && in dev_write()
461 iter->info.ex == info.ex && in dev_write()
462 iter->info.wait) { in dev_write()
469 if (!iter->info.wait && in dev_write()
470 iter->info.fsid == info.fsid) { in dev_write()
479 if (info.wait) in dev_write()
480 WARN_ON(op->info.optype != DLM_PLOCK_OP_LOCK); in dev_write()
482 WARN_ON(op->info.number != info.number || in dev_write()
483 op->info.owner != info.owner || in dev_write()
484 op->info.optype != info.optype); in dev_write()
487 memcpy(&op->info, &info, sizeof(info)); in dev_write()
502 info.fsid, (unsigned long long)info.number); in dev_write()