Lines Matching defs:srv_dev
465 static int rnbd_srv_check_update_open_perm(struct rnbd_srv_dev *srv_dev,
471 mutex_lock(&srv_dev->lock);
477 if (srv_dev->open_write_cnt == 0) {
478 srv_dev->open_write_cnt++;
481 srv_dev->name, srv_sess->sessname,
482 srv_dev->open_write_cnt,
488 if (srv_dev->open_write_cnt < 2) {
489 srv_dev->open_write_cnt++;
492 srv_dev->name, srv_sess->sessname,
493 srv_dev->open_write_cnt,
500 srv_dev->name, srv_sess->sessname, access_mode);
504 mutex_unlock(&srv_dev->lock);
563 struct rnbd_srv_dev *srv_dev)
576 sdev->dev = srv_dev;
677 struct rnbd_srv_dev *srv_dev;
726 srv_dev = rnbd_srv_get_or_create_srv_dev(bdev, srv_sess,
728 if (IS_ERR(srv_dev)) {
729 pr_err("Opening device '%s' on session %s failed, creating srv_dev failed, err: %ld\n",
730 full_path, srv_sess->sessname, PTR_ERR(srv_dev));
731 ret = PTR_ERR(srv_dev);
737 srv_dev);
745 /* Create the srv_dev sysfs files if they haven't been created yet. The
749 mutex_lock(&srv_dev->lock);
750 if (!srv_dev->dev_kobj.state_in_sysfs) {
751 ret = rnbd_srv_create_dev_sysfs(srv_dev, bdev);
753 mutex_unlock(&srv_dev->lock);
763 mutex_unlock(&srv_dev->lock);
770 list_add(&srv_sess_dev->dev_list, &srv_dev->sess_dev_list);
771 mutex_unlock(&srv_dev->lock);
773 rnbd_srv_info(srv_sess_dev, "Opened device '%s'\n", srv_dev->name);
788 mutex_lock(&srv_dev->lock);
789 srv_dev->open_write_cnt--;
790 mutex_unlock(&srv_dev->lock);
792 rnbd_put_srv_dev(srv_dev);