mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
9p: Add additional debug flags and open modes
Add some additional debug flags to assist with debugging cache changes. Also add some additional open modes so we can track cache state in fids more directly. Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
This commit is contained in:
parent
8142db4f27
commit
46c30cb8f5
@ -42,6 +42,8 @@ enum p9_debug_flags {
|
||||
P9_DEBUG_PKT = (1<<10),
|
||||
P9_DEBUG_FSC = (1<<11),
|
||||
P9_DEBUG_VPKT = (1<<12),
|
||||
P9_DEBUG_CACHE = (1<<13),
|
||||
P9_DEBUG_MMAP = (1<<14),
|
||||
};
|
||||
|
||||
#ifdef CONFIG_NET_9P_DEBUG
|
||||
@ -213,6 +215,10 @@ enum p9_open_mode_t {
|
||||
P9_ORCLOSE = 0x40,
|
||||
P9_OAPPEND = 0x80,
|
||||
P9_OEXCL = 0x1000,
|
||||
P9L_MODE_MASK = 0x1FFF, /* don't send anything under this to server */
|
||||
P9L_DIRECT = 0x2000, /* cache disabled */
|
||||
P9L_NOWRITECACHE = 0x4000, /* no write caching */
|
||||
P9L_LOOSE = 0x8000, /* loose cache */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1230,9 +1230,9 @@ int p9_client_open(struct p9_fid *fid, int mode)
|
||||
return -EINVAL;
|
||||
|
||||
if (p9_is_proto_dotl(clnt))
|
||||
req = p9_client_rpc(clnt, P9_TLOPEN, "dd", fid->fid, mode);
|
||||
req = p9_client_rpc(clnt, P9_TLOPEN, "dd", fid->fid, mode & P9L_MODE_MASK);
|
||||
else
|
||||
req = p9_client_rpc(clnt, P9_TOPEN, "db", fid->fid, mode);
|
||||
req = p9_client_rpc(clnt, P9_TOPEN, "db", fid->fid, mode & P9L_MODE_MASK);
|
||||
if (IS_ERR(req)) {
|
||||
err = PTR_ERR(req);
|
||||
goto error;
|
||||
@ -1277,7 +1277,7 @@ int p9_client_create_dotl(struct p9_fid *ofid, const char *name, u32 flags,
|
||||
return -EINVAL;
|
||||
|
||||
req = p9_client_rpc(clnt, P9_TLCREATE, "dsddg", ofid->fid, name, flags,
|
||||
mode, gid);
|
||||
mode & P9L_MODE_MASK, gid);
|
||||
if (IS_ERR(req)) {
|
||||
err = PTR_ERR(req);
|
||||
goto error;
|
||||
@ -1321,7 +1321,7 @@ int p9_client_fcreate(struct p9_fid *fid, const char *name, u32 perm, int mode,
|
||||
return -EINVAL;
|
||||
|
||||
req = p9_client_rpc(clnt, P9_TCREATE, "dsdb?s", fid->fid, name, perm,
|
||||
mode, extension);
|
||||
mode & P9L_MODE_MASK, extension);
|
||||
if (IS_ERR(req)) {
|
||||
err = PTR_ERR(req);
|
||||
goto error;
|
||||
|
Loading…
Reference in New Issue
Block a user