Lines Matching refs:req
115 static void fuse_lookup_init(struct fuse_conn *fc, struct fuse_req *req, in fuse_lookup_init() argument
120 req->in.h.opcode = FUSE_LOOKUP; in fuse_lookup_init()
121 req->in.h.nodeid = nodeid; in fuse_lookup_init()
122 req->in.numargs = 1; in fuse_lookup_init()
123 req->in.args[0].size = name->len + 1; in fuse_lookup_init()
124 req->in.args[0].value = name->name; in fuse_lookup_init()
125 req->out.numargs = 1; in fuse_lookup_init()
127 req->out.args[0].size = FUSE_COMPAT_ENTRY_OUT_SIZE; in fuse_lookup_init()
129 req->out.args[0].size = sizeof(struct fuse_entry_out); in fuse_lookup_init()
130 req->out.args[0].value = outarg; in fuse_lookup_init()
168 struct fuse_req *req; in fuse_dentry_revalidate() local
181 req = fuse_get_req(fc); in fuse_dentry_revalidate()
182 if (IS_ERR(req)) in fuse_dentry_revalidate()
187 fuse_put_request(fc, req); in fuse_dentry_revalidate()
194 fuse_lookup_init(fc, req, get_node_id(parent->d_inode), in fuse_dentry_revalidate()
196 fuse_request_send(fc, req); in fuse_dentry_revalidate()
198 err = req->out.h.error; in fuse_dentry_revalidate()
199 fuse_put_request(fc, req); in fuse_dentry_revalidate()
264 struct fuse_req *req; in fuse_lookup_name() local
274 req = fuse_get_req(fc); in fuse_lookup_name()
275 err = PTR_ERR(req); in fuse_lookup_name()
276 if (IS_ERR(req)) in fuse_lookup_name()
282 fuse_put_request(fc, req); in fuse_lookup_name()
288 fuse_lookup_init(fc, req, nodeid, name, outarg); in fuse_lookup_name()
289 fuse_request_send(fc, req); in fuse_lookup_name()
290 err = req->out.h.error; in fuse_lookup_name()
291 fuse_put_request(fc, req); in fuse_lookup_name()
378 struct fuse_req *req; in fuse_create_open() local
394 req = fuse_get_req(fc); in fuse_create_open()
395 err = PTR_ERR(req); in fuse_create_open()
396 if (IS_ERR(req)) in fuse_create_open()
413 req->in.h.opcode = FUSE_CREATE; in fuse_create_open()
414 req->in.h.nodeid = get_node_id(dir); in fuse_create_open()
415 req->in.numargs = 2; in fuse_create_open()
416 req->in.args[0].size = fc->minor < 12 ? sizeof(struct fuse_open_in) : in fuse_create_open()
418 req->in.args[0].value = &inarg; in fuse_create_open()
419 req->in.args[1].size = entry->d_name.len + 1; in fuse_create_open()
420 req->in.args[1].value = entry->d_name.name; in fuse_create_open()
421 req->out.numargs = 2; in fuse_create_open()
423 req->out.args[0].size = FUSE_COMPAT_ENTRY_OUT_SIZE; in fuse_create_open()
425 req->out.args[0].size = sizeof(outentry); in fuse_create_open()
426 req->out.args[0].value = &outentry; in fuse_create_open()
427 req->out.args[1].size = sizeof(outopen); in fuse_create_open()
428 req->out.args[1].value = &outopen; in fuse_create_open()
429 fuse_request_send(fc, req); in fuse_create_open()
430 err = req->out.h.error; in fuse_create_open()
441 fuse_put_request(fc, req); in fuse_create_open()
469 fuse_put_request(fc, req); in fuse_create_open()
478 static int create_new_entry(struct fuse_conn *fc, struct fuse_req *req, in create_new_entry() argument
489 fuse_put_request(fc, req); in create_new_entry()
494 req->in.h.nodeid = get_node_id(dir); in create_new_entry()
495 req->out.numargs = 1; in create_new_entry()
497 req->out.args[0].size = FUSE_COMPAT_ENTRY_OUT_SIZE; in create_new_entry()
499 req->out.args[0].size = sizeof(outarg); in create_new_entry()
500 req->out.args[0].value = &outarg; in create_new_entry()
501 fuse_request_send(fc, req); in create_new_entry()
502 err = req->out.h.error; in create_new_entry()
503 fuse_put_request(fc, req); in create_new_entry()
552 struct fuse_req *req = fuse_get_req(fc); in fuse_mknod() local
553 if (IS_ERR(req)) in fuse_mknod()
554 return PTR_ERR(req); in fuse_mknod()
563 req->in.h.opcode = FUSE_MKNOD; in fuse_mknod()
564 req->in.numargs = 2; in fuse_mknod()
565 req->in.args[0].size = fc->minor < 12 ? FUSE_COMPAT_MKNOD_IN_SIZE : in fuse_mknod()
567 req->in.args[0].value = &inarg; in fuse_mknod()
568 req->in.args[1].size = entry->d_name.len + 1; in fuse_mknod()
569 req->in.args[1].value = entry->d_name.name; in fuse_mknod()
570 return create_new_entry(fc, req, dir, entry, mode); in fuse_mknod()
589 struct fuse_req *req = fuse_get_req(fc); in fuse_mkdir() local
590 if (IS_ERR(req)) in fuse_mkdir()
591 return PTR_ERR(req); in fuse_mkdir()
599 req->in.h.opcode = FUSE_MKDIR; in fuse_mkdir()
600 req->in.numargs = 2; in fuse_mkdir()
601 req->in.args[0].size = sizeof(inarg); in fuse_mkdir()
602 req->in.args[0].value = &inarg; in fuse_mkdir()
603 req->in.args[1].size = entry->d_name.len + 1; in fuse_mkdir()
604 req->in.args[1].value = entry->d_name.name; in fuse_mkdir()
605 return create_new_entry(fc, req, dir, entry, S_IFDIR); in fuse_mkdir()
613 struct fuse_req *req = fuse_get_req(fc); in fuse_symlink() local
614 if (IS_ERR(req)) in fuse_symlink()
615 return PTR_ERR(req); in fuse_symlink()
617 req->in.h.opcode = FUSE_SYMLINK; in fuse_symlink()
618 req->in.numargs = 2; in fuse_symlink()
619 req->in.args[0].size = entry->d_name.len + 1; in fuse_symlink()
620 req->in.args[0].value = entry->d_name.name; in fuse_symlink()
621 req->in.args[1].size = len; in fuse_symlink()
622 req->in.args[1].value = link; in fuse_symlink()
623 return create_new_entry(fc, req, dir, entry, S_IFLNK); in fuse_symlink()
630 struct fuse_req *req = fuse_get_req(fc); in fuse_unlink() local
631 if (IS_ERR(req)) in fuse_unlink()
632 return PTR_ERR(req); in fuse_unlink()
634 req->in.h.opcode = FUSE_UNLINK; in fuse_unlink()
635 req->in.h.nodeid = get_node_id(dir); in fuse_unlink()
636 req->in.numargs = 1; in fuse_unlink()
637 req->in.args[0].size = entry->d_name.len + 1; in fuse_unlink()
638 req->in.args[0].value = entry->d_name.name; in fuse_unlink()
639 fuse_request_send(fc, req); in fuse_unlink()
640 err = req->out.h.error; in fuse_unlink()
641 fuse_put_request(fc, req); in fuse_unlink()
669 struct fuse_req *req = fuse_get_req(fc); in fuse_rmdir() local
670 if (IS_ERR(req)) in fuse_rmdir()
671 return PTR_ERR(req); in fuse_rmdir()
673 req->in.h.opcode = FUSE_RMDIR; in fuse_rmdir()
674 req->in.h.nodeid = get_node_id(dir); in fuse_rmdir()
675 req->in.numargs = 1; in fuse_rmdir()
676 req->in.args[0].size = entry->d_name.len + 1; in fuse_rmdir()
677 req->in.args[0].value = entry->d_name.name; in fuse_rmdir()
678 fuse_request_send(fc, req); in fuse_rmdir()
679 err = req->out.h.error; in fuse_rmdir()
680 fuse_put_request(fc, req); in fuse_rmdir()
696 struct fuse_req *req = fuse_get_req(fc); in fuse_rename() local
698 if (IS_ERR(req)) in fuse_rename()
699 return PTR_ERR(req); in fuse_rename()
703 req->in.h.opcode = FUSE_RENAME; in fuse_rename()
704 req->in.h.nodeid = get_node_id(olddir); in fuse_rename()
705 req->in.numargs = 3; in fuse_rename()
706 req->in.args[0].size = sizeof(inarg); in fuse_rename()
707 req->in.args[0].value = &inarg; in fuse_rename()
708 req->in.args[1].size = oldent->d_name.len + 1; in fuse_rename()
709 req->in.args[1].value = oldent->d_name.name; in fuse_rename()
710 req->in.args[2].size = newent->d_name.len + 1; in fuse_rename()
711 req->in.args[2].value = newent->d_name.name; in fuse_rename()
712 fuse_request_send(fc, req); in fuse_rename()
713 err = req->out.h.error; in fuse_rename()
714 fuse_put_request(fc, req); in fuse_rename()
749 struct fuse_req *req = fuse_get_req(fc); in fuse_link() local
750 if (IS_ERR(req)) in fuse_link()
751 return PTR_ERR(req); in fuse_link()
755 req->in.h.opcode = FUSE_LINK; in fuse_link()
756 req->in.numargs = 2; in fuse_link()
757 req->in.args[0].size = sizeof(inarg); in fuse_link()
758 req->in.args[0].value = &inarg; in fuse_link()
759 req->in.args[1].size = newent->d_name.len + 1; in fuse_link()
760 req->in.args[1].value = newent->d_name.name; in fuse_link()
761 err = create_new_entry(fc, req, newdir, newent, inode->i_mode); in fuse_link()
810 struct fuse_req *req; in fuse_do_getattr() local
813 req = fuse_get_req(fc); in fuse_do_getattr()
814 if (IS_ERR(req)) in fuse_do_getattr()
815 return PTR_ERR(req); in fuse_do_getattr()
828 req->in.h.opcode = FUSE_GETATTR; in fuse_do_getattr()
829 req->in.h.nodeid = get_node_id(inode); in fuse_do_getattr()
830 req->in.numargs = 1; in fuse_do_getattr()
831 req->in.args[0].size = sizeof(inarg); in fuse_do_getattr()
832 req->in.args[0].value = &inarg; in fuse_do_getattr()
833 req->out.numargs = 1; in fuse_do_getattr()
835 req->out.args[0].size = FUSE_COMPAT_ATTR_OUT_SIZE; in fuse_do_getattr()
837 req->out.args[0].size = sizeof(outarg); in fuse_do_getattr()
838 req->out.args[0].value = &outarg; in fuse_do_getattr()
839 fuse_request_send(fc, req); in fuse_do_getattr()
840 err = req->out.h.error; in fuse_do_getattr()
841 fuse_put_request(fc, req); in fuse_do_getattr()
987 struct fuse_req *req; in fuse_access() local
994 req = fuse_get_req(fc); in fuse_access()
995 if (IS_ERR(req)) in fuse_access()
996 return PTR_ERR(req); in fuse_access()
1000 req->in.h.opcode = FUSE_ACCESS; in fuse_access()
1001 req->in.h.nodeid = get_node_id(inode); in fuse_access()
1002 req->in.numargs = 1; in fuse_access()
1003 req->in.args[0].size = sizeof(inarg); in fuse_access()
1004 req->in.args[0].value = &inarg; in fuse_access()
1005 fuse_request_send(fc, req); in fuse_access()
1006 err = req->out.h.error; in fuse_access()
1007 fuse_put_request(fc, req); in fuse_access()
1127 struct fuse_req *req; in fuse_readdir() local
1132 req = fuse_get_req(fc); in fuse_readdir()
1133 if (IS_ERR(req)) in fuse_readdir()
1134 return PTR_ERR(req); in fuse_readdir()
1138 fuse_put_request(fc, req); in fuse_readdir()
1141 req->out.argpages = 1; in fuse_readdir()
1142 req->num_pages = 1; in fuse_readdir()
1143 req->pages[0] = page; in fuse_readdir()
1144 fuse_read_fill(req, file, file->f_pos, PAGE_SIZE, FUSE_READDIR); in fuse_readdir()
1145 fuse_request_send(fc, req); in fuse_readdir()
1146 nbytes = req->out.args[0].size; in fuse_readdir()
1147 err = req->out.h.error; in fuse_readdir()
1148 fuse_put_request(fc, req); in fuse_readdir()
1162 struct fuse_req *req = fuse_get_req(fc); in read_link() local
1165 if (IS_ERR(req)) in read_link()
1166 return ERR_CAST(req); in read_link()
1173 req->in.h.opcode = FUSE_READLINK; in read_link()
1174 req->in.h.nodeid = get_node_id(inode); in read_link()
1175 req->out.argvar = 1; in read_link()
1176 req->out.numargs = 1; in read_link()
1177 req->out.args[0].size = PAGE_SIZE - 1; in read_link()
1178 req->out.args[0].value = link; in read_link()
1179 fuse_request_send(fc, req); in read_link()
1180 if (req->out.h.error) { in read_link()
1182 link = ERR_PTR(req->out.h.error); in read_link()
1184 link[req->out.args[0].size] = '\0'; in read_link()
1186 fuse_put_request(fc, req); in read_link()
1349 struct fuse_req *req; in fuse_do_setattr() local
1375 req = fuse_get_req(fc); in fuse_do_setattr()
1376 if (IS_ERR(req)) in fuse_do_setattr()
1377 return PTR_ERR(req); in fuse_do_setattr()
1395 req->in.h.opcode = FUSE_SETATTR; in fuse_do_setattr()
1396 req->in.h.nodeid = get_node_id(inode); in fuse_do_setattr()
1397 req->in.numargs = 1; in fuse_do_setattr()
1398 req->in.args[0].size = sizeof(inarg); in fuse_do_setattr()
1399 req->in.args[0].value = &inarg; in fuse_do_setattr()
1400 req->out.numargs = 1; in fuse_do_setattr()
1402 req->out.args[0].size = FUSE_COMPAT_ATTR_OUT_SIZE; in fuse_do_setattr()
1404 req->out.args[0].size = sizeof(outarg); in fuse_do_setattr()
1405 req->out.args[0].value = &outarg; in fuse_do_setattr()
1406 fuse_request_send(fc, req); in fuse_do_setattr()
1407 err = req->out.h.error; in fuse_do_setattr()
1408 fuse_put_request(fc, req); in fuse_do_setattr()
1476 struct fuse_req *req; in fuse_setxattr() local
1483 req = fuse_get_req(fc); in fuse_setxattr()
1484 if (IS_ERR(req)) in fuse_setxattr()
1485 return PTR_ERR(req); in fuse_setxattr()
1490 req->in.h.opcode = FUSE_SETXATTR; in fuse_setxattr()
1491 req->in.h.nodeid = get_node_id(inode); in fuse_setxattr()
1492 req->in.numargs = 3; in fuse_setxattr()
1493 req->in.args[0].size = sizeof(inarg); in fuse_setxattr()
1494 req->in.args[0].value = &inarg; in fuse_setxattr()
1495 req->in.args[1].size = strlen(name) + 1; in fuse_setxattr()
1496 req->in.args[1].value = name; in fuse_setxattr()
1497 req->in.args[2].size = size; in fuse_setxattr()
1498 req->in.args[2].value = value; in fuse_setxattr()
1499 fuse_request_send(fc, req); in fuse_setxattr()
1500 err = req->out.h.error; in fuse_setxattr()
1501 fuse_put_request(fc, req); in fuse_setxattr()
1516 struct fuse_req *req; in fuse_getxattr() local
1524 req = fuse_get_req(fc); in fuse_getxattr()
1525 if (IS_ERR(req)) in fuse_getxattr()
1526 return PTR_ERR(req); in fuse_getxattr()
1530 req->in.h.opcode = FUSE_GETXATTR; in fuse_getxattr()
1531 req->in.h.nodeid = get_node_id(inode); in fuse_getxattr()
1532 req->in.numargs = 2; in fuse_getxattr()
1533 req->in.args[0].size = sizeof(inarg); in fuse_getxattr()
1534 req->in.args[0].value = &inarg; in fuse_getxattr()
1535 req->in.args[1].size = strlen(name) + 1; in fuse_getxattr()
1536 req->in.args[1].value = name; in fuse_getxattr()
1538 req->out.numargs = 1; in fuse_getxattr()
1540 req->out.argvar = 1; in fuse_getxattr()
1541 req->out.args[0].size = size; in fuse_getxattr()
1542 req->out.args[0].value = value; in fuse_getxattr()
1544 req->out.args[0].size = sizeof(outarg); in fuse_getxattr()
1545 req->out.args[0].value = &outarg; in fuse_getxattr()
1547 fuse_request_send(fc, req); in fuse_getxattr()
1548 ret = req->out.h.error; in fuse_getxattr()
1550 ret = size ? req->out.args[0].size : outarg.size; in fuse_getxattr()
1557 fuse_put_request(fc, req); in fuse_getxattr()
1565 struct fuse_req *req; in fuse_listxattr() local
1576 req = fuse_get_req(fc); in fuse_listxattr()
1577 if (IS_ERR(req)) in fuse_listxattr()
1578 return PTR_ERR(req); in fuse_listxattr()
1582 req->in.h.opcode = FUSE_LISTXATTR; in fuse_listxattr()
1583 req->in.h.nodeid = get_node_id(inode); in fuse_listxattr()
1584 req->in.numargs = 1; in fuse_listxattr()
1585 req->in.args[0].size = sizeof(inarg); in fuse_listxattr()
1586 req->in.args[0].value = &inarg; in fuse_listxattr()
1588 req->out.numargs = 1; in fuse_listxattr()
1590 req->out.argvar = 1; in fuse_listxattr()
1591 req->out.args[0].size = size; in fuse_listxattr()
1592 req->out.args[0].value = list; in fuse_listxattr()
1594 req->out.args[0].size = sizeof(outarg); in fuse_listxattr()
1595 req->out.args[0].value = &outarg; in fuse_listxattr()
1597 fuse_request_send(fc, req); in fuse_listxattr()
1598 ret = req->out.h.error; in fuse_listxattr()
1600 ret = size ? req->out.args[0].size : outarg.size; in fuse_listxattr()
1607 fuse_put_request(fc, req); in fuse_listxattr()
1615 struct fuse_req *req; in fuse_removexattr() local
1621 req = fuse_get_req(fc); in fuse_removexattr()
1622 if (IS_ERR(req)) in fuse_removexattr()
1623 return PTR_ERR(req); in fuse_removexattr()
1625 req->in.h.opcode = FUSE_REMOVEXATTR; in fuse_removexattr()
1626 req->in.h.nodeid = get_node_id(inode); in fuse_removexattr()
1627 req->in.numargs = 1; in fuse_removexattr()
1628 req->in.args[0].size = strlen(name) + 1; in fuse_removexattr()
1629 req->in.args[0].value = name; in fuse_removexattr()
1630 fuse_request_send(fc, req); in fuse_removexattr()
1631 err = req->out.h.error; in fuse_removexattr()
1632 fuse_put_request(fc, req); in fuse_removexattr()