Lines Matching refs:fid
895 struct p9_fid *fid; in p9_fid_create() local
898 fid = kmalloc(sizeof(struct p9_fid), GFP_KERNEL); in p9_fid_create()
899 if (!fid) in p9_fid_create()
902 memset(&fid->qid, 0, sizeof(struct p9_qid)); in p9_fid_create()
903 fid->mode = -1; in p9_fid_create()
904 fid->uid = current_fsuid(); in p9_fid_create()
905 fid->clnt = clnt; in p9_fid_create()
906 fid->rdir = NULL; in p9_fid_create()
907 fid->fid = 0; in p9_fid_create()
908 refcount_set(&fid->count, 1); in p9_fid_create()
912 ret = idr_alloc_u32(&clnt->fids, fid, &fid->fid, P9_NOFID - 1, in p9_fid_create()
917 return fid; in p9_fid_create()
919 kfree(fid); in p9_fid_create()
923 static void p9_fid_destroy(struct p9_fid *fid) in p9_fid_destroy() argument
928 p9_debug(P9_DEBUG_FID, "fid %d\n", fid->fid); in p9_fid_destroy()
929 clnt = fid->clnt; in p9_fid_destroy()
931 idr_remove(&clnt->fids, fid->fid); in p9_fid_destroy()
933 kfree(fid->rdir); in p9_fid_destroy()
934 kfree(fid); in p9_fid_destroy()
1084 struct p9_fid *fid; in p9_client_destroy() local
1094 idr_for_each_entry(&clnt->fids, fid, id) { in p9_client_destroy()
1095 pr_info("Found fid %d not clunked\n", fid->fid); in p9_client_destroy()
1096 p9_fid_destroy(fid); in p9_client_destroy()
1125 struct p9_fid *fid; in p9_client_attach() local
1130 afid ? afid->fid : -1, uname, aname); in p9_client_attach()
1131 fid = p9_fid_create(clnt); in p9_client_attach()
1132 if (!fid) { in p9_client_attach()
1136 fid->uid = n_uname; in p9_client_attach()
1138 req = p9_client_rpc(clnt, P9_TATTACH, "ddss?u", fid->fid, in p9_client_attach()
1139 afid ? afid->fid : P9_NOFID, uname, aname, n_uname); in p9_client_attach()
1155 memmove(&fid->qid, &qid, sizeof(struct p9_qid)); in p9_client_attach()
1158 return fid; in p9_client_attach()
1161 if (fid) in p9_client_attach()
1162 p9_fid_destroy(fid); in p9_client_attach()
1172 struct p9_fid *fid; in p9_client_walk() local
1181 fid = p9_fid_create(clnt); in p9_client_walk()
1182 if (!fid) { in p9_client_walk()
1187 fid->uid = oldfid->uid; in p9_client_walk()
1189 fid = oldfid; in p9_client_walk()
1193 oldfid->fid, fid->fid, nwname, wnames ? wnames[0] : NULL); in p9_client_walk()
1194 req = p9_client_rpc(clnt, P9_TWALK, "ddT", oldfid->fid, fid->fid, in p9_client_walk()
1223 memmove(&fid->qid, &wqids[nwqids - 1], sizeof(struct p9_qid)); in p9_client_walk()
1225 memmove(&fid->qid, &oldfid->qid, sizeof(struct p9_qid)); in p9_client_walk()
1228 return fid; in p9_client_walk()
1232 p9_client_clunk(fid); in p9_client_walk()
1233 fid = NULL; in p9_client_walk()
1236 if (fid && (fid != oldfid)) in p9_client_walk()
1237 p9_fid_destroy(fid); in p9_client_walk()
1243 int p9_client_open(struct p9_fid *fid, int mode) in p9_client_open() argument
1251 clnt = fid->clnt; in p9_client_open()
1253 p9_is_proto_dotl(clnt) ? "TLOPEN" : "TOPEN", fid->fid, mode); in p9_client_open()
1256 if (fid->mode != -1) in p9_client_open()
1260 req = p9_client_rpc(clnt, P9_TLOPEN, "dd", fid->fid, mode); in p9_client_open()
1262 req = p9_client_rpc(clnt, P9_TOPEN, "db", fid->fid, mode); in p9_client_open()
1278 memmove(&fid->qid, &qid, sizeof(struct p9_qid)); in p9_client_open()
1279 fid->mode = mode; in p9_client_open()
1280 fid->iounit = iounit; in p9_client_open()
1299 ofid->fid, name, flags, mode, in p9_client_create_dotl()
1306 req = p9_client_rpc(clnt, P9_TLCREATE, "dsddg", ofid->fid, name, flags, in p9_client_create_dotl()
1335 int p9_client_fcreate(struct p9_fid *fid, const char *name, u32 perm, int mode, in p9_client_fcreate() argument
1345 fid->fid, name, perm, mode); in p9_client_fcreate()
1347 clnt = fid->clnt; in p9_client_fcreate()
1349 if (fid->mode != -1) in p9_client_fcreate()
1352 req = p9_client_rpc(clnt, P9_TCREATE, "dsdb?s", fid->fid, name, perm, in p9_client_fcreate()
1370 memmove(&fid->qid, &qid, sizeof(struct p9_qid)); in p9_client_fcreate()
1371 fid->mode = mode; in p9_client_fcreate()
1372 fid->iounit = iounit; in p9_client_fcreate()
1389 dfid->fid, name, symtgt); in p9_client_symlink()
1392 req = p9_client_rpc(clnt, P9_TSYMLINK, "dssg", dfid->fid, name, symtgt, in p9_client_symlink()
1421 dfid->fid, oldfid->fid, newname); in p9_client_link()
1423 req = p9_client_rpc(clnt, P9_TLINK, "dds", dfid->fid, oldfid->fid, in p9_client_link()
1434 int p9_client_fsync(struct p9_fid *fid, int datasync) in p9_client_fsync() argument
1441 fid->fid, datasync); in p9_client_fsync()
1443 clnt = fid->clnt; in p9_client_fsync()
1445 req = p9_client_rpc(clnt, P9_TFSYNC, "dd", fid->fid, datasync); in p9_client_fsync()
1451 p9_debug(P9_DEBUG_9P, "<<< RFSYNC fid %d\n", fid->fid); in p9_client_fsync()
1460 int p9_client_clunk(struct p9_fid *fid) in p9_client_clunk() argument
1467 if (!fid || IS_ERR(fid)) { in p9_client_clunk()
1473 if (!refcount_dec_and_test(&fid->count)) in p9_client_clunk()
1477 p9_debug(P9_DEBUG_9P, ">>> TCLUNK fid %d (try %d)\n", fid->fid, in p9_client_clunk()
1480 clnt = fid->clnt; in p9_client_clunk()
1482 req = p9_client_rpc(clnt, P9_TCLUNK, "d", fid->fid); in p9_client_clunk()
1488 p9_debug(P9_DEBUG_9P, "<<< RCLUNK fid %d\n", fid->fid); in p9_client_clunk()
1501 p9_fid_destroy(fid); in p9_client_clunk()
1506 int p9_client_remove(struct p9_fid *fid) in p9_client_remove() argument
1512 p9_debug(P9_DEBUG_9P, ">>> TREMOVE fid %d\n", fid->fid); in p9_client_remove()
1514 clnt = fid->clnt; in p9_client_remove()
1516 req = p9_client_rpc(clnt, P9_TREMOVE, "d", fid->fid); in p9_client_remove()
1522 p9_debug(P9_DEBUG_9P, "<<< RREMOVE fid %d\n", fid->fid); in p9_client_remove()
1527 p9_client_clunk(fid); in p9_client_remove()
1529 p9_fid_destroy(fid); in p9_client_remove()
1541 dfid->fid, name, flags); in p9_client_unlinkat()
1544 req = p9_client_rpc(clnt, P9_TUNLINKAT, "dsd", dfid->fid, name, flags); in p9_client_unlinkat()
1549 p9_debug(P9_DEBUG_9P, "<<< RUNLINKAT fid %d %s\n", dfid->fid, name); in p9_client_unlinkat()
1558 p9_client_read(struct p9_fid *fid, u64 offset, struct iov_iter *to, int *err) in p9_client_read() argument
1566 count = p9_client_read_once(fid, offset, to, err); in p9_client_read()
1577 p9_client_read_once(struct p9_fid *fid, u64 offset, struct iov_iter *to, in p9_client_read_once() argument
1580 struct p9_client *clnt = fid->clnt; in p9_client_read_once()
1588 fid->fid, (unsigned long long) offset, (int)iov_iter_count(to)); in p9_client_read_once()
1590 rsize = fid->iounit; in p9_client_read_once()
1603 0, 11, "dqd", fid->fid, in p9_client_read_once()
1607 req = p9_client_rpc(clnt, P9_TREAD, "dqd", fid->fid, offset, in p9_client_read_once()
1646 p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err) in p9_client_write() argument
1648 struct p9_client *clnt = fid->clnt; in p9_client_write()
1654 fid->fid, (unsigned long long) offset, in p9_client_write()
1659 int rsize = fid->iounit; in p9_client_write()
1670 fid->fid, offset, rsize); in p9_client_write()
1672 req = p9_client_rpc(clnt, P9_TWRITE, "dqV", fid->fid, in p9_client_write()
1702 struct p9_wstat *p9_client_stat(struct p9_fid *fid) in p9_client_stat() argument
1710 p9_debug(P9_DEBUG_9P, ">>> TSTAT fid %d\n", fid->fid); in p9_client_stat()
1716 clnt = fid->clnt; in p9_client_stat()
1718 req = p9_client_rpc(clnt, P9_TSTAT, "d", fid->fid); in p9_client_stat()
1753 struct p9_stat_dotl *p9_client_getattr_dotl(struct p9_fid *fid, in p9_client_getattr_dotl() argument
1763 fid->fid, request_mask); in p9_client_getattr_dotl()
1769 clnt = fid->clnt; in p9_client_getattr_dotl()
1771 req = p9_client_rpc(clnt, P9_TGETATTR, "dq", fid->fid, request_mask); in p9_client_getattr_dotl()
1843 int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst) in p9_client_wstat() argument
1850 clnt = fid->clnt; in p9_client_wstat()
1852 p9_debug(P9_DEBUG_9P, ">>> TWSTAT fid %d\n", fid->fid); in p9_client_wstat()
1866 req = p9_client_rpc(clnt, P9_TWSTAT, "dwS", fid->fid, wst->size+2, wst); in p9_client_wstat()
1872 p9_debug(P9_DEBUG_9P, "<<< RWSTAT fid %d\n", fid->fid); in p9_client_wstat()
1880 int p9_client_setattr(struct p9_fid *fid, struct p9_iattr_dotl *p9attr) in p9_client_setattr() argument
1887 clnt = fid->clnt; in p9_client_setattr()
1888 p9_debug(P9_DEBUG_9P, ">>> TSETATTR fid %d\n", fid->fid); in p9_client_setattr()
1899 req = p9_client_rpc(clnt, P9_TSETATTR, "dI", fid->fid, p9attr); in p9_client_setattr()
1905 p9_debug(P9_DEBUG_9P, "<<< RSETATTR fid %d\n", fid->fid); in p9_client_setattr()
1912 int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb) in p9_client_statfs() argument
1919 clnt = fid->clnt; in p9_client_statfs()
1921 p9_debug(P9_DEBUG_9P, ">>> TSTATFS fid %d\n", fid->fid); in p9_client_statfs()
1923 req = p9_client_rpc(clnt, P9_TSTATFS, "d", fid->fid); in p9_client_statfs()
1941 fid->fid, (long unsigned int)sb->type, (long int)sb->bsize, in p9_client_statfs()
1951 int p9_client_rename(struct p9_fid *fid, in p9_client_rename() argument
1959 clnt = fid->clnt; in p9_client_rename()
1962 fid->fid, newdirfid->fid, name); in p9_client_rename()
1964 req = p9_client_rpc(clnt, P9_TRENAME, "dds", fid->fid, in p9_client_rename()
1965 newdirfid->fid, name); in p9_client_rename()
1971 p9_debug(P9_DEBUG_9P, "<<< RRENAME fid %d\n", fid->fid); in p9_client_rename()
1990 " newdirfid %d new name %s\n", olddirfid->fid, old_name, in p9_client_renameat()
1991 newdirfid->fid, new_name); in p9_client_renameat()
1993 req = p9_client_rpc(clnt, P9_TRENAMEAT, "dsds", olddirfid->fid, in p9_client_renameat()
1994 old_name, newdirfid->fid, new_name); in p9_client_renameat()
2001 newdirfid->fid, new_name); in p9_client_renameat()
2029 file_fid->fid, attr_fid->fid, attr_name); in p9_client_xattrwalk()
2032 file_fid->fid, attr_fid->fid, attr_name); in p9_client_xattrwalk()
2045 attr_fid->fid, *attr_size); in p9_client_xattrwalk()
2058 int p9_client_xattrcreate(struct p9_fid *fid, const char *name, in p9_client_xattrcreate() argument
2067 fid->fid, name, (long long)attr_size, flags); in p9_client_xattrcreate()
2069 clnt = fid->clnt; in p9_client_xattrcreate()
2071 fid->fid, name, attr_size, flags); in p9_client_xattrcreate()
2076 p9_debug(P9_DEBUG_9P, "<<< RXATTRCREATE fid %d\n", fid->fid); in p9_client_xattrcreate()
2083 int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset) in p9_client_readdir() argument
2095 fid->fid, (unsigned long long) offset, count); in p9_client_readdir()
2098 clnt = fid->clnt; in p9_client_readdir()
2100 rsize = fid->iounit; in p9_client_readdir()
2114 11, "dqd", fid->fid, offset, rsize); in p9_client_readdir()
2117 req = p9_client_rpc(clnt, P9_TREADDIR, "dqd", fid->fid, in p9_client_readdir()
2150 int p9_client_mknod_dotl(struct p9_fid *fid, const char *name, int mode, in p9_client_mknod_dotl() argument
2158 clnt = fid->clnt; in p9_client_mknod_dotl()
2160 "minor %d\n", fid->fid, name, mode, MAJOR(rdev), MINOR(rdev)); in p9_client_mknod_dotl()
2161 req = p9_client_rpc(clnt, P9_TMKNOD, "dsdddg", fid->fid, name, mode, in p9_client_mknod_dotl()
2181 int p9_client_mkdir_dotl(struct p9_fid *fid, const char *name, int mode, in p9_client_mkdir_dotl() argument
2189 clnt = fid->clnt; in p9_client_mkdir_dotl()
2191 fid->fid, name, mode, from_kgid(&init_user_ns, gid)); in p9_client_mkdir_dotl()
2192 req = p9_client_rpc(clnt, P9_TMKDIR, "dsdg", fid->fid, name, mode, in p9_client_mkdir_dotl()
2212 int p9_client_lock_dotl(struct p9_fid *fid, struct p9_flock *flock, u8 *status) in p9_client_lock_dotl() argument
2219 clnt = fid->clnt; in p9_client_lock_dotl()
2222 fid->fid, flock->type, flock->flags, flock->start, in p9_client_lock_dotl()
2225 req = p9_client_rpc(clnt, P9_TLOCK, "dbdqqds", fid->fid, flock->type, in p9_client_lock_dotl()
2245 int p9_client_getlock_dotl(struct p9_fid *fid, struct p9_getlock *glock) in p9_client_getlock_dotl() argument
2252 clnt = fid->clnt; in p9_client_getlock_dotl()
2254 "length %lld proc_id %d client_id %s\n", fid->fid, glock->type, in p9_client_getlock_dotl()
2257 req = p9_client_rpc(clnt, P9_TGETLOCK, "dbqqds", fid->fid, glock->type, in p9_client_getlock_dotl()
2279 int p9_client_readlink(struct p9_fid *fid, char **target) in p9_client_readlink() argument
2286 clnt = fid->clnt; in p9_client_readlink()
2287 p9_debug(P9_DEBUG_9P, ">>> TREADLINK fid %d\n", fid->fid); in p9_client_readlink()
2289 req = p9_client_rpc(clnt, P9_TREADLINK, "d", fid->fid); in p9_client_readlink()