• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/nfs/

Lines Matching refs:fmode

739 		struct nfs4_state_owner *sp, fmode_t fmode, int flags,
761 p->o_arg.fmode = fmode & (FMODE_READ|FMODE_WRITE);
841 static int can_open_delegated(struct nfs_delegation *delegation, fmode_t fmode)
843 if ((delegation->type & fmode) != fmode)
851 static void update_open_stateflags(struct nfs4_state *state, fmode_t fmode)
853 switch (fmode) {
863 nfs4_state_set_mode_locked(state, state->state | fmode);
866 static void nfs_set_open_stateid_locked(struct nfs4_state *state, nfs4_stateid *stateid, fmode_t fmode)
871 switch (fmode) {
883 static void nfs_set_open_stateid(struct nfs4_state *state, nfs4_stateid *stateid, fmode_t fmode)
886 nfs_set_open_stateid_locked(state, stateid, fmode);
890 static void __update_open_stateid(struct nfs4_state *state, nfs4_stateid *open_stateid, const nfs4_stateid *deleg_stateid, fmode_t fmode)
902 nfs_set_open_stateid_locked(state, open_stateid, fmode);
905 update_open_stateflags(state, fmode);
909 static int update_open_stateid(struct nfs4_state *state, nfs4_stateid *open_stateid, nfs4_stateid *delegation, fmode_t fmode)
915 fmode &= (FMODE_READ|FMODE_WRITE);
924 (deleg_cur->type & fmode) != fmode)
933 __update_open_stateid(state, open_stateid, &deleg_cur->stateid, fmode);
941 __update_open_stateid(state, open_stateid, NULL, fmode);
949 static void nfs4_return_incompatible_delegation(struct inode *inode, fmode_t fmode)
955 if (delegation == NULL || (delegation->type & fmode) == fmode) {
969 fmode_t fmode = opendata->o_arg.fmode;
974 if (can_open_cached(state, fmode, open_mode)) {
976 if (can_open_cached(state, fmode, open_mode)) {
977 update_open_stateflags(state, fmode);
986 !can_open_delegated(delegation, fmode)) {
999 if (update_open_stateid(state, NULL, &stateid, fmode))
1051 data->o_arg.fmode);
1090 static int nfs4_open_recover_helper(struct nfs4_opendata *opendata, fmode_t fmode, struct nfs4_state **res)
1096 opendata->o_arg.fmode = fmode;
1106 nfs4_close_state(&opendata->path, newstate, fmode);
1298 nfs4_close_state(&data->path, state, data->o_arg.fmode);
1362 if (can_open_cached(data->state, data->o_arg.fmode, data->o_arg.open_flags))
1443 nfs4_close_state(&data->path, state, data->o_arg.fmode);
1649 static int _nfs4_do_open(struct inode *dir, struct path *path, fmode_t fmode, int flags, struct iattr *sattr, struct rpc_cred *cred, struct nfs4_state **res)
1667 nfs4_return_incompatible_delegation(path->dentry->d_inode, fmode);
1669 opendata = nfs4_opendata_alloc(path, sp, fmode, flags, sattr, GFP_KERNEL);
1712 static struct nfs4_state *nfs4_do_open(struct inode *dir, struct path *path, fmode_t fmode, int flags, struct iattr *sattr, struct rpc_cred *cred)
1719 status = _nfs4_do_open(dir, path, fmode, flags, sattr, cred, &res);
1838 fmode_t fmode)
1841 if (!(fmode & FMODE_READ))
1843 if (!(fmode & FMODE_WRITE))
1865 calldata->arg.fmode);
1871 if (calldata->arg.fmode == 0)
1891 calldata->arg.fmode = FMODE_READ|FMODE_WRITE;
1898 calldata->arg.fmode &= ~FMODE_READ;
1903 calldata->arg.fmode &= ~FMODE_WRITE;
1914 if (calldata->arg.fmode == 0)
1973 calldata->arg.fmode = 0;
2001 static int nfs4_intent_set_file(struct nameidata *nd, struct path *path, struct nfs4_state *state, fmode_t fmode)
2007 if (fmode & FMODE_EXEC) {
2023 nfs4_close_sync(path, state, fmode & (FMODE_READ|FMODE_WRITE));
2040 fmode_t fmode = open_flags & (FMODE_READ | FMODE_WRITE | FMODE_EXEC);
2059 state = nfs4_do_open(dir, &path, fmode, open_flags, &attr, cred);
2074 nfs4_intent_set_file(nd, &path, state, fmode);
2087 fmode_t fmode = openflags & (FMODE_READ | FMODE_WRITE);
2092 state = nfs4_do_open(dir, &path, fmode, openflags, NULL, cred);
2108 nfs4_intent_set_file(nd, &path, state, fmode);
2111 nfs4_close_sync(&path, state, fmode);
2578 fmode_t fmode = flags & (FMODE_READ | FMODE_WRITE);
2586 state = nfs4_do_open(dir, &path, fmode, flags, sattr, cred);
2595 status = nfs4_intent_set_file(nd, &path, state, fmode);
2597 nfs4_close_sync(&path, state, fmode);