Lines Matching defs:srv_dev
463 static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
469 mutex_lock(&srv_dev->lock);
476 if (srv_dev->open_write_cnt == 0) {
477 srv_dev->open_write_cnt++;
481 srv_dev->id, srv_sess->sessname,
482 srv_dev->open_write_cnt,
487 if (srv_dev->open_write_cnt < 2) {
488 srv_dev->open_write_cnt++;
492 srv_dev->id, srv_sess->sessname,
493 srv_dev->open_write_cnt,
499 srv_dev->id, srv_sess->sessname, access_mode);
503 mutex_unlock(&srv_dev->lock);
569 struct rnbd_srv_dev *srv_dev)
582 sdev->dev = srv_dev;
687 struct rnbd_srv_dev *srv_dev;
739 srv_dev = rnbd_srv_get_or_create_srv_dev(rnbd_dev, srv_sess,
741 if (IS_ERR(srv_dev)) {
742 pr_err("Opening device '%s' on session %s failed, creating srv_dev failed, err: %ld\n",
743 full_path, srv_sess->sessname, PTR_ERR(srv_dev));
744 ret = PTR_ERR(srv_dev);
750 srv_dev);
758 /* Create the srv_dev sysfs files if they haven't been created yet. The
762 mutex_lock(&srv_dev->lock);
763 if (!srv_dev->dev_kobj.state_in_sysfs) {
764 ret = rnbd_srv_create_dev_sysfs(srv_dev, rnbd_dev->bdev,
767 mutex_unlock(&srv_dev->lock);
777 mutex_unlock(&srv_dev->lock);
784 list_add(&srv_sess_dev->dev_list, &srv_dev->sess_dev_list);
785 mutex_unlock(&srv_dev->lock);
789 rnbd_srv_info(srv_sess_dev, "Opened device '%s'\n", srv_dev->id);
804 mutex_lock(&srv_dev->lock);
805 srv_dev->open_write_cnt--;
806 mutex_unlock(&srv_dev->lock);
808 rnbd_put_srv_dev(srv_dev);