Lines Matching refs:fid

896 	struct p9_fid *fid;
899 fid = kzalloc(sizeof(struct p9_fid), GFP_KERNEL);
900 if (!fid)
903 fid->mode = -1;
904 fid->uid = current_fsuid();
905 fid->clnt = clnt;
909 ret = idr_alloc_u32(&clnt->fids, fid, &fid->fid, P9_NOFID - 1,
915 return fid;
917 kfree(fid);
921 static void p9_fid_destroy(struct p9_fid *fid)
926 p9_debug(P9_DEBUG_FID, "fid %d\n", fid->fid);
927 clnt = fid->clnt;
929 idr_remove(&clnt->fids, fid->fid);
931 kfree(fid->rdir);
932 kfree(fid);
1082 struct p9_fid *fid;
1092 idr_for_each_entry(&clnt->fids, fid, id) {
1093 pr_info("Found fid %d not clunked\n", fid->fid);
1094 p9_fid_destroy(fid);
1123 struct p9_fid *fid;
1128 afid ? afid->fid : -1, uname, aname);
1129 fid = p9_fid_create(clnt);
1130 if (!fid) {
1134 fid->uid = n_uname;
1136 req = p9_client_rpc(clnt, P9_TATTACH, "ddss?u", fid->fid,
1137 afid ? afid->fid : P9_NOFID, uname, aname, n_uname);
1153 memmove(&fid->qid, &qid, sizeof(struct p9_qid));
1156 return fid;
1159 if (fid)
1160 p9_fid_destroy(fid);
1170 struct p9_fid *fid;
1179 fid = p9_fid_create(clnt);
1180 if (!fid) {
1185 fid->uid = oldfid->uid;
1187 fid = oldfid;
1191 oldfid->fid, fid->fid, nwname, wnames ? wnames[0] : NULL);
1193 req = p9_client_rpc(clnt, P9_TWALK, "ddT", oldfid->fid, fid->fid,
1222 memmove(&fid->qid, &wqids[nwqids - 1], sizeof(struct p9_qid));
1224 fid->qid = oldfid->qid;
1227 return fid;
1231 p9_client_clunk(fid);
1232 fid = NULL;
1235 if (fid && (fid != oldfid))
1236 p9_fid_destroy(fid);
1242 int p9_client_open(struct p9_fid *fid, int mode)
1250 clnt = fid->clnt;
1251 p9_debug(P9_DEBUG_9P, ">>> %s fid %d mode %d\n",
1252 p9_is_proto_dotl(clnt) ? "TLOPEN" : "TOPEN", fid->fid, mode);
1255 if (fid->mode != -1)
1259 req = p9_client_rpc(clnt, P9_TLOPEN, "dd", fid->fid, mode);
1261 req = p9_client_rpc(clnt, P9_TOPEN, "db", fid->fid, mode);
1277 fid->mode = mode;
1278 fid->iounit = iounit;
1296 ">>> TLCREATE fid %d name %s flags %d mode %d gid %d\n",
1297 ofid->fid, name, flags, mode,
1304 req = p9_client_rpc(clnt, P9_TLCREATE, "dsddg", ofid->fid, name, flags,
1332 int p9_client_fcreate(struct p9_fid *fid, const char *name, u32 perm, int mode,
1341 p9_debug(P9_DEBUG_9P, ">>> TCREATE fid %d name %s perm %d mode %d\n",
1342 fid->fid, name, perm, mode);
1344 clnt = fid->clnt;
1346 if (fid->mode != -1)
1349 req = p9_client_rpc(clnt, P9_TCREATE, "dsdb?s", fid->fid, name, perm,
1367 fid->mode = mode;
1368 fid->iounit = iounit;
1385 dfid->fid, name, symtgt);
1388 req = p9_client_rpc(clnt, P9_TSYMLINK, "dssg", dfid->fid, name, symtgt,
1417 dfid->fid, oldfid->fid, newname);
1419 req = p9_client_rpc(clnt, P9_TLINK, "dds", dfid->fid, oldfid->fid,
1430 int p9_client_fsync(struct p9_fid *fid, int datasync)
1436 p9_debug(P9_DEBUG_9P, ">>> TFSYNC fid %d datasync:%d\n",
1437 fid->fid, datasync);
1439 clnt = fid->clnt;
1441 req = p9_client_rpc(clnt, P9_TFSYNC, "dd", fid->fid, datasync);
1447 p9_debug(P9_DEBUG_9P, "<<< RFSYNC fid %d\n", fid->fid);
1456 int p9_client_clunk(struct p9_fid *fid)
1463 if (!fid) {
1464 pr_warn("%s (%d): Trying to clunk with NULL fid\n",
1471 p9_debug(P9_DEBUG_9P, ">>> TCLUNK fid %d (try %d)\n", fid->fid,
1474 clnt = fid->clnt;
1476 req = p9_client_rpc(clnt, P9_TCLUNK, "d", fid->fid);
1482 p9_debug(P9_DEBUG_9P, "<<< RCLUNK fid %d\n", fid->fid);
1489 * leak fid until umount.
1495 p9_fid_destroy(fid);
1500 int p9_client_remove(struct p9_fid *fid)
1506 p9_debug(P9_DEBUG_9P, ">>> TREMOVE fid %d\n", fid->fid);
1508 clnt = fid->clnt;
1510 req = p9_client_rpc(clnt, P9_TREMOVE, "d", fid->fid);
1516 p9_debug(P9_DEBUG_9P, "<<< RREMOVE fid %d\n", fid->fid);
1521 p9_client_clunk(fid);
1523 p9_fid_destroy(fid);
1534 p9_debug(P9_DEBUG_9P, ">>> TUNLINKAT fid %d %s %d\n",
1535 dfid->fid, name, flags);
1538 req = p9_client_rpc(clnt, P9_TUNLINKAT, "dsd", dfid->fid, name, flags);
1543 p9_debug(P9_DEBUG_9P, "<<< RUNLINKAT fid %d %s\n", dfid->fid, name);
1552 p9_client_read(struct p9_fid *fid, u64 offset, struct iov_iter *to, int *err)
1560 count = p9_client_read_once(fid, offset, to, err);
1571 p9_client_read_once(struct p9_fid *fid, u64 offset, struct iov_iter *to,
1574 struct p9_client *clnt = fid->clnt;
1581 p9_debug(P9_DEBUG_9P, ">>> TREAD fid %d offset %llu %d\n",
1582 fid->fid, (unsigned long long) offset, (int)iov_iter_count(to));
1584 rsize = fid->iounit;
1597 0, 11, "dqd", fid->fid,
1601 req = p9_client_rpc(clnt, P9_TREAD, "dqd", fid->fid, offset,
1640 p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
1642 struct p9_client *clnt = fid->clnt;
1647 p9_debug(P9_DEBUG_9P, ">>> TWRITE fid %d offset %llu count %zd\n",
1648 fid->fid, (unsigned long long) offset,
1653 int rsize = fid->iounit;
1664 fid->fid, offset, rsize);
1666 req = p9_client_rpc(clnt, P9_TWRITE, "dqV", fid->fid,
1696 struct p9_wstat *p9_client_stat(struct p9_fid *fid)
1704 p9_debug(P9_DEBUG_9P, ">>> TSTAT fid %d\n", fid->fid);
1710 clnt = fid->clnt;
1712 req = p9_client_rpc(clnt, P9_TSTAT, "d", fid->fid);
1747 struct p9_stat_dotl *p9_client_getattr_dotl(struct p9_fid *fid,
1756 p9_debug(P9_DEBUG_9P, ">>> TGETATTR fid %d, request_mask %lld\n",
1757 fid->fid, request_mask);
1763 clnt = fid->clnt;
1765 req = p9_client_rpc(clnt, P9_TGETATTR, "dq", fid->fid, request_mask);
1837 int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst)
1844 clnt = fid->clnt;
1846 p9_debug(P9_DEBUG_9P, ">>> TWSTAT fid %d\n", fid->fid);
1860 req = p9_client_rpc(clnt, P9_TWSTAT, "dwS", fid->fid, wst->size+2, wst);
1866 p9_debug(P9_DEBUG_9P, "<<< RWSTAT fid %d\n", fid->fid);
1874 int p9_client_setattr(struct p9_fid *fid, struct p9_iattr_dotl *p9attr)
1881 clnt = fid->clnt;
1882 p9_debug(P9_DEBUG_9P, ">>> TSETATTR fid %d\n", fid->fid);
1893 req = p9_client_rpc(clnt, P9_TSETATTR, "dI", fid->fid, p9attr);
1899 p9_debug(P9_DEBUG_9P, "<<< RSETATTR fid %d\n", fid->fid);
1906 int p9_client_statfs(struct p9_fid *fid, struct p9_rstatfs *sb)
1913 clnt = fid->clnt;
1915 p9_debug(P9_DEBUG_9P, ">>> TSTATFS fid %d\n", fid->fid);
1917 req = p9_client_rpc(clnt, P9_TSTATFS, "d", fid->fid);
1932 p9_debug(P9_DEBUG_9P, "<<< RSTATFS fid %d type 0x%lx bsize %ld "
1935 fid->fid, (long unsigned int)sb->type, (long int)sb->bsize,
1945 int p9_client_rename(struct p9_fid *fid,
1953 clnt = fid->clnt;
1955 p9_debug(P9_DEBUG_9P, ">>> TRENAME fid %d newdirfid %d name %s\n",
1956 fid->fid, newdirfid->fid, name);
1958 req = p9_client_rpc(clnt, P9_TRENAME, "dds", fid->fid,
1959 newdirfid->fid, name);
1965 p9_debug(P9_DEBUG_9P, "<<< RRENAME fid %d\n", fid->fid);
1984 " newdirfid %d new name %s\n", olddirfid->fid, old_name,
1985 newdirfid->fid, new_name);
1987 req = p9_client_rpc(clnt, P9_TRENAMEAT, "dsds", olddirfid->fid,
1988 old_name, newdirfid->fid, new_name);
1995 newdirfid->fid, new_name);
2004 * An xattrwalk without @attr_name gives the fid for the lisxattr namespace
2023 file_fid->fid, attr_fid->fid, attr_name);
2026 file_fid->fid, attr_fid->fid, attr_name);
2038 p9_debug(P9_DEBUG_9P, "<<< RXATTRWALK fid %d size %llu\n",
2039 attr_fid->fid, *attr_size);
2052 int p9_client_xattrcreate(struct p9_fid *fid, const char *name,
2060 ">>> TXATTRCREATE fid %d name %s size %lld flag %d\n",
2061 fid->fid, name, (long long)attr_size, flags);
2063 clnt = fid->clnt;
2065 fid->fid, name, attr_size, flags);
2070 p9_debug(P9_DEBUG_9P, "<<< RXATTRCREATE fid %d\n", fid->fid);
2077 int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset)
2088 p9_debug(P9_DEBUG_9P, ">>> TREADDIR fid %d offset %llu count %d\n",
2089 fid->fid, (unsigned long long) offset, count);
2092 clnt = fid->clnt;
2094 rsize = fid->iounit;
2108 11, "dqd", fid->fid, offset, rsize);
2111 req = p9_client_rpc(clnt, P9_TREADDIR, "dqd", fid->fid,
2144 int p9_client_mknod_dotl(struct p9_fid *fid, const char *name, int mode,
2152 clnt = fid->clnt;
2153 p9_debug(P9_DEBUG_9P, ">>> TMKNOD fid %d name %s mode %d major %d "
2154 "minor %d\n", fid->fid, name, mode, MAJOR(rdev), MINOR(rdev));
2155 req = p9_client_rpc(clnt, P9_TMKNOD, "dsdddg", fid->fid, name, mode,
2175 int p9_client_mkdir_dotl(struct p9_fid *fid, const char *name, int mode,
2183 clnt = fid->clnt;
2184 p9_debug(P9_DEBUG_9P, ">>> TMKDIR fid %d name %s mode %d gid %d\n",
2185 fid->fid, name, mode, from_kgid(&init_user_ns, gid));
2186 req = p9_client_rpc(clnt, P9_TMKDIR, "dsdg", fid->fid, name, mode,
2206 int p9_client_lock_dotl(struct p9_fid *fid, struct p9_flock *flock, u8 *status)
2213 clnt = fid->clnt;
2214 p9_debug(P9_DEBUG_9P, ">>> TLOCK fid %d type %i flags %d "
2216 fid->fid, flock->type, flock->flags, flock->start,
2219 req = p9_client_rpc(clnt, P9_TLOCK, "dbdqqds", fid->fid, flock->type,
2239 int p9_client_getlock_dotl(struct p9_fid *fid, struct p9_getlock *glock)
2246 clnt = fid->clnt;
2247 p9_debug(P9_DEBUG_9P, ">>> TGETLOCK fid %d, type %i start %lld "
2248 "length %lld proc_id %d client_id %s\n", fid->fid, glock->type,
2251 req = p9_client_rpc(clnt, P9_TGETLOCK, "dbqqds", fid->fid, glock->type,
2273 int p9_client_readlink(struct p9_fid *fid, char **target)
2280 clnt = fid->clnt;
2281 p9_debug(P9_DEBUG_9P, ">>> TREADLINK fid %d\n", fid->fid);
2283 req = p9_client_rpc(clnt, P9_TREADLINK, "d", fid->fid);