Lines Matching defs:fid
853 struct p9_fid *fid;
856 fid = kzalloc(sizeof(*fid), GFP_KERNEL);
857 if (!fid)
860 fid->mode = -1;
861 fid->uid = current_fsuid();
862 fid->clnt = clnt;
863 refcount_set(&fid->count, 1);
867 ret = idr_alloc_u32(&clnt->fids, fid, &fid->fid, P9_NOFID - 1,
872 trace_9p_fid_ref(fid, P9_FID_REF_CREATE);
873 return fid;
876 kfree(fid);
880 static void p9_fid_destroy(struct p9_fid *fid)
885 p9_debug(P9_DEBUG_FID, "fid %d\n", fid->fid);
886 trace_9p_fid_ref(fid, P9_FID_REF_DESTROY);
887 clnt = fid->clnt;
889 idr_remove(&clnt->fids, fid->fid);
891 kfree(fid->rdir);
892 kfree(fid);
898 void do_trace_9p_fid_get(struct p9_fid *fid)
900 trace_9p_fid_ref(fid, P9_FID_REF_GET);
904 void do_trace_9p_fid_put(struct p9_fid *fid)
906 trace_9p_fid_ref(fid, P9_FID_REF_PUT);
1071 struct p9_fid *fid;
1081 idr_for_each_entry(&clnt->fids, fid, id) {
1082 pr_info("Found fid %d not clunked\n", fid->fid);
1083 p9_fid_destroy(fid);
1113 struct p9_fid *fid;
1117 afid ? afid->fid : -1, uname, aname);
1118 fid = p9_fid_create(clnt);
1119 if (!fid) {
1123 fid->uid = n_uname;
1125 req = p9_client_rpc(clnt, P9_TATTACH, "ddss?u", fid->fid,
1126 afid ? afid->fid : P9_NOFID, uname, aname, n_uname);
1142 memmove(&fid->qid, &qid, sizeof(struct p9_qid));
1145 return fid;
1148 if (fid)
1149 p9_fid_destroy(fid);
1159 struct p9_fid *fid;
1167 fid = p9_fid_create(clnt);
1168 if (!fid) {
1173 fid->uid = oldfid->uid;
1175 fid = oldfid;
1179 oldfid->fid, fid->fid, nwname, wnames ? wnames[0] : NULL);
1180 req = p9_client_rpc(clnt, P9_TWALK, "ddT", oldfid->fid, fid->fid,
1209 memmove(&fid->qid, &wqids[nwqids - 1], sizeof(struct p9_qid));
1211 memmove(&fid->qid, &oldfid->qid, sizeof(struct p9_qid));
1214 return fid;
1218 p9_fid_put(fid);
1219 fid = NULL;
1222 if (fid && fid != oldfid)
1223 p9_fid_destroy(fid);
1229 int p9_client_open(struct p9_fid *fid, int mode)
1237 clnt = fid->clnt;
1238 p9_debug(P9_DEBUG_9P, ">>> %s fid %d mode %d\n",
1239 p9_is_proto_dotl(clnt) ? "TLOPEN" : "TOPEN", fid->fid, mode);
1241 if (fid->mode != -1)
1245 req = p9_client_rpc(clnt, P9_TLOPEN, "dd", fid->fid, mode & P9L_MODE_MASK);
1247 req = p9_client_rpc(clnt, P9_TOPEN, "db", fid->fid, mode & P9L_MODE_MASK);
1263 memmove(&fid->qid, &qid, sizeof(struct p9_qid));
1264 fid->mode = mode;
1265 fid->iounit = iounit;
1283 ">>> TLCREATE fid %d name %s flags %d mode %d gid %d\n",
1284 ofid->fid, name, flags, mode,
1291 req = p9_client_rpc(clnt, P9_TLCREATE, "dsddg", ofid->fid, name, flags,
1318 int p9_client_fcreate(struct p9_fid *fid, const char *name, u32 perm, int mode,
1327 p9_debug(P9_DEBUG_9P, ">>> TCREATE fid %d name %s perm %d mode %d\n",
1328 fid->fid, name, perm, mode);
1329 clnt = fid->clnt;
1331 if (fid->mode != -1)
1334 req = p9_client_rpc(clnt, P9_TCREATE, "dsdb?s", fid->fid, name, perm,
1350 memmove(&fid->qid, &qid, sizeof(struct p9_qid));
1351 fid->mode = mode;
1352 fid->iounit = iounit;
1369 dfid->fid, name, symtgt);
1372 req = p9_client_rpc(clnt, P9_TSYMLINK, "dssg", dfid->fid, name, symtgt,
1401 dfid->fid, oldfid->fid, newname);
1403 req = p9_client_rpc(clnt, P9_TLINK, "dds", dfid->fid, oldfid->fid,
1414 int p9_client_fsync(struct p9_fid *fid, int datasync)
1420 p9_debug(P9_DEBUG_9P, ">>> TFSYNC fid %d datasync:%d\n",
1421 fid->fid, datasync);
1422 clnt = fid->clnt;
1424 req = p9_client_rpc(clnt, P9_TFSYNC, "dd", fid->fid, datasync);
1430 p9_debug(P9_DEBUG_9P, "<<< RFSYNC fid %d\n", fid->fid);
1439 int p9_client_clunk(struct p9_fid *fid)
1447 p9_debug(P9_DEBUG_9P, ">>> TCLUNK fid %d (try %d)\n",
1448 fid->fid, retries);
1449 clnt = fid->clnt;
1451 req = p9_client_rpc(clnt, P9_TCLUNK, "d", fid->fid);
1457 p9_debug(P9_DEBUG_9P, "<<< RCLUNK fid %d\n", fid->fid);
1463 * leak fid until umount.
1469 p9_fid_destroy(fid);
1475 int p9_client_remove(struct p9_fid *fid)
1481 p9_debug(P9_DEBUG_9P, ">>> TREMOVE fid %d\n", fid->fid);
1482 clnt = fid->clnt;
1484 req = p9_client_rpc(clnt, P9_TREMOVE, "d", fid->fid);
1490 p9_debug(P9_DEBUG_9P, "<<< RREMOVE fid %d\n", fid->fid);
1495 p9_fid_put(fid);
1497 p9_fid_destroy(fid);
1508 p9_debug(P9_DEBUG_9P, ">>> TUNLINKAT fid %d %s %d\n",
1509 dfid->fid, name, flags);
1512 req = p9_client_rpc(clnt, P9_TUNLINKAT, "dsd", dfid->fid, name, flags);
1517 p9_debug(P9_DEBUG_9P, "<<< RUNLINKAT fid %d %s\n", dfid->fid, name);
1526 p9_client_read(struct p9_fid *fid, u64 offset, struct iov_iter *to, int *err)
1534 count = p9_client_read_once(fid, offset, to, err);
1545 p9_client_read_once(struct p9_fid *fid, u64 offset, struct iov_iter *to,
1548 struct p9_client *clnt = fid->clnt;
1556 p9_debug(P9_DEBUG_9P, ">>> TREAD fid %d offset %llu %zu\n",
1557 fid->fid, offset, iov_iter_count(to));
1559 rsize = fid->iounit;
1572 0, 11, "dqd", fid->fid,
1576 req = p9_client_rpc(clnt, P9_TREAD, "dqd", fid->fid, offset,
1621 p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
1623 struct p9_client *clnt = fid->clnt;
1630 u32 rsize = fid->iounit;
1639 p9_debug(P9_DEBUG_9P, ">>> TWRITE fid %d offset %llu count %u (/%zu)\n",
1640 fid->fid, offset, rsize, count);
1646 fid->fid, offset, rsize);
1648 req = p9_client_rpc(clnt, P9_TWRITE, "dqV", fid->fid,
1687 struct p9_fid *fid = wreq->netfs_priv;
1688 struct p9_client *clnt = fid->clnt;
1694 p9_debug(P9_DEBUG_9P, ">>> TWRITE fid %d offset %llu len %d\n",
1695 fid->fid, start, len);
1701 fid->fid, start, len);
1703 req = p9_client_rpc(clnt, P9_TWRITE, "dqV", fid->fid,
1731 struct p9_wstat *p9_client_stat(struct p9_fid *fid)
1739 p9_debug(P9_DEBUG_9P, ">>> TSTAT fid %d\n", fid->fid);
1745 clnt = fid->clnt;
1747 req = p9_client_rpc(clnt, P9_TSTAT, "d", fid->fid);
1782 struct p9_stat_dotl *p9_client_getattr_dotl(struct p9_fid *fid,
1790 p9_debug(P9_DEBUG_9P, ">>> TGETATTR fid %d, request_mask %lld\n",
1791 fid->fid, request_mask);
1797 clnt = fid->clnt;
1799 req = p9_client_rpc(clnt, P9_TGETATTR, "dq", fid->fid, request_mask);
1873 int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst)
1879 clnt = fid->clnt;
1881 p9_debug(P9_DEBUG_9P, ">>> TWSTAT fid %d\n",
1882 fid->fid);
1897 fid->fid, wst->size + 2, wst);
1903 p9_debug(P9_DEBUG_9P, "<<< RWSTAT fid %d\n", fid->fid);
1911 int p9_client_setattr(struct p9_fid *fid, struct p9_iattr_dotl *p9attr)
1917 clnt = fid->clnt;
1918 p9_debug(P9_DEBUG_9P, ">>> TSETATTR fid %d\n", fid->fid);
1929 req = p9_client_rpc(clnt, P9_TSETATTR, "dI", fid->fid, p9attr);
1935 p9_debug(P9_DEBUG_9P, "<<< RSETATTR fid %d\n", fid->fid);
1942 int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb)
1948 clnt = fid->clnt;
1950 p9_debug(P9_DEBUG_9P, ">>> TSTATFS fid %d\n", fid->fid);
1952 req = p9_client_rpc(clnt, P9_TSTATFS, "d", fid->fid);
1968 "<<< RSTATFS fid %d type 0x%x bsize %u blocks %llu bfree %llu bavail %llu files %llu ffree %llu fsid %llu namelen %u\n",
1969 fid->fid, sb->type, sb->bsize, sb->blocks, sb->bfree,
1978 int p9_client_rename(struct p9_fid *fid,
1985 clnt = fid->clnt;
1987 p9_debug(P9_DEBUG_9P, ">>> TRENAME fid %d newdirfid %d name %s\n",
1988 fid->fid, newdirfid->fid, name);
1990 req = p9_client_rpc(clnt, P9_TRENAME, "dds", fid->fid,
1991 newdirfid->fid, name);
1997 p9_debug(P9_DEBUG_9P, "<<< RRENAME fid %d\n", fid->fid);
2016 olddirfid->fid, old_name, newdirfid->fid, new_name);
2018 req = p9_client_rpc(clnt, P9_TRENAMEAT, "dsds", olddirfid->fid,
2019 old_name, newdirfid->fid, new_name);
2026 newdirfid->fid, new_name);
2034 /* An xattrwalk without @attr_name gives the fid for the lisxattr namespace
2052 file_fid->fid, attr_fid->fid, attr_name);
2055 file_fid->fid, attr_fid->fid, attr_name);
2067 p9_debug(P9_DEBUG_9P, "<<< RXATTRWALK fid %d size %llu\n",
2068 attr_fid->fid, *attr_size);
2081 int p9_client_xattrcreate(struct p9_fid *fid, const char *name,
2089 ">>> TXATTRCREATE fid %d name %s size %llu flag %d\n",
2090 fid->fid, name, attr_size, flags);
2091 clnt = fid->clnt;
2093 fid->fid, name, attr_size, flags);
2098 p9_debug(P9_DEBUG_9P, "<<< RXATTRCREATE fid %d\n", fid->fid);
2105 int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset)
2117 p9_debug(P9_DEBUG_9P, ">>> TREADDIR fid %d offset %llu count %u\n",
2118 fid->fid, offset, count);
2120 clnt = fid->clnt;
2122 rsize = fid->iounit;
2135 11, "dqd", fid->fid, offset, rsize);
2138 req = p9_client_rpc(clnt, P9_TREADDIR, "dqd", fid->fid,
2172 int p9_client_mknod_dotl(struct p9_fid *fid, const char *name, int mode,
2179 clnt = fid->clnt;
2181 ">>> TMKNOD fid %d name %s mode %d major %d minor %d\n",
2182 fid->fid, name, mode, MAJOR(rdev), MINOR(rdev));
2183 req = p9_client_rpc(clnt, P9_TMKNOD, "dsdddg", fid->fid, name, mode,
2202 int p9_client_mkdir_dotl(struct p9_fid *fid, const char *name, int mode,
2209 clnt = fid->clnt;
2210 p9_debug(P9_DEBUG_9P, ">>> TMKDIR fid %d name %s mode %d gid %d\n",
2211 fid->fid, name, mode, from_kgid(&init_user_ns, gid));
2213 fid->fid, name, mode, gid);
2231 int p9_client_lock_dotl(struct p9_fid *fid, struct p9_flock *flock, u8 *status)
2237 clnt = fid->clnt;
2239 ">>> TLOCK fid %d type %i flags %d start %lld length %lld proc_id %d client_id %s\n",
2240 fid->fid, flock->type, flock->flags, flock->start,
2243 req = p9_client_rpc(clnt, P9_TLOCK, "dbdqqds", fid->fid, flock->type,
2262 int p9_client_getlock_dotl(struct p9_fid *fid, struct p9_getlock *glock)
2268 clnt = fid->clnt;
2270 ">>> TGETLOCK fid %d, type %i start %lld length %lld proc_id %d client_id %s\n",
2271 fid->fid, glock->type, glock->start, glock->length,
2274 req = p9_client_rpc(clnt, P9_TGETLOCK, "dbqqds", fid->fid,
2298 int p9_client_readlink(struct p9_fid *fid, char **target)
2304 clnt = fid->clnt;
2305 p9_debug(P9_DEBUG_9P, ">>> TREADLINK fid %d\n", fid->fid);
2307 req = p9_client_rpc(clnt, P9_TREADLINK, "d", fid->fid);