Commit b42895d6fe66995ab101c15d9a59c78474dbf382
Exists in
master
and in
7 other branches
Merge git://git.linux-nfs.org/pub/linux/nfs-2.6
* git://git.linux-nfs.org/pub/linux/nfs-2.6: SUNRPC: Fix sparse warnings NLM: Fix sparse warnings NFS: Fix more sparse warnings NFS: Fix some 'sparse' warnings... SUNRPC: remove dead variable 'rpciod_running' NFS4: Fix incorrect use of sizeof() in fs/nfs/nfs4xdr.c NFS: use zero_user_page NLM: don't use CLONE_SIGHAND in nlmclnt_recovery NLM: Fix locking client timeouts...
Showing 18 changed files Side-by-side Diff
- fs/lockd/clntlock.c
- fs/lockd/host.c
- fs/lockd/xdr.c
- fs/lockd/xdr4.c
- fs/nfs/callback.h
- fs/nfs/delegation.c
- fs/nfs/dir.c
- fs/nfs/nfs4proc.c
- fs/nfs/nfs4state.c
- fs/nfs/nfs4xdr.c
- fs/nfs/read.c
- fs/nfs/write.c
- include/linux/lockd/xdr4.h
- include/linux/nfs4.h
- include/linux/sunrpc/rpc_pipe_fs.h
- include/linux/sunrpc/xprt.h
- net/sunrpc/sched.c
- net/sunrpc/sunrpc_syms.c
fs/lockd/clntlock.c
... | ... | @@ -153,7 +153,7 @@ |
153 | 153 | if (!host->h_reclaiming++) { |
154 | 154 | nlm_get_host(host); |
155 | 155 | __module_get(THIS_MODULE); |
156 | - if (kernel_thread(reclaimer, host, CLONE_KERNEL) < 0) | |
156 | + if (kernel_thread(reclaimer, host, CLONE_FS | CLONE_FILES) < 0) | |
157 | 157 | module_put(THIS_MODULE); |
158 | 158 | } |
159 | 159 | } |
fs/lockd/host.c
... | ... | @@ -221,7 +221,7 @@ |
221 | 221 | host->h_nextrebind - jiffies); |
222 | 222 | } |
223 | 223 | } else { |
224 | - unsigned long increment = nlmsvc_timeout * HZ; | |
224 | + unsigned long increment = nlmsvc_timeout; | |
225 | 225 | struct rpc_timeout timeparms = { |
226 | 226 | .to_initval = increment, |
227 | 227 | .to_increment = increment, |
fs/lockd/xdr.c
fs/lockd/xdr4.c
... | ... | @@ -123,7 +123,8 @@ |
123 | 123 | nlm4_decode_lock(__be32 *p, struct nlm_lock *lock) |
124 | 124 | { |
125 | 125 | struct file_lock *fl = &lock->fl; |
126 | - __s64 len, start, end; | |
126 | + __u64 len, start; | |
127 | + __s64 end; | |
127 | 128 | |
128 | 129 | if (!(p = xdr_decode_string_inplace(p, &lock->caller, |
129 | 130 | &lock->len, NLM_MAXSTRLEN)) |
... | ... | @@ -417,7 +418,8 @@ |
417 | 418 | if (resp->status == nlm_lck_denied) { |
418 | 419 | struct file_lock *fl = &resp->lock.fl; |
419 | 420 | u32 excl; |
420 | - s64 start, end, len; | |
421 | + __u64 start, len; | |
422 | + __s64 end; | |
421 | 423 | |
422 | 424 | memset(&resp->lock, 0, sizeof(resp->lock)); |
423 | 425 | locks_init_lock(fl); |
fs/nfs/callback.h
... | ... | @@ -24,7 +24,7 @@ |
24 | 24 | }; |
25 | 25 | |
26 | 26 | struct cb_compound_hdr_arg { |
27 | - int taglen; | |
27 | + unsigned int taglen; | |
28 | 28 | const char *tag; |
29 | 29 | unsigned int callback_ident; |
30 | 30 | unsigned nops; |
... | ... | @@ -32,7 +32,7 @@ |
32 | 32 | |
33 | 33 | struct cb_compound_hdr_res { |
34 | 34 | __be32 *status; |
35 | - int taglen; | |
35 | + unsigned int taglen; | |
36 | 36 | const char *tag; |
37 | 37 | __be32 *nops; |
38 | 38 | }; |
fs/nfs/delegation.c
fs/nfs/dir.c
... | ... | @@ -607,7 +607,7 @@ |
607 | 607 | return res; |
608 | 608 | } |
609 | 609 | |
610 | -loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin) | |
610 | +static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin) | |
611 | 611 | { |
612 | 612 | mutex_lock(&filp->f_path.dentry->d_inode->i_mutex); |
613 | 613 | switch (origin) { |
... | ... | @@ -633,7 +633,7 @@ |
633 | 633 | * All directory operations under NFS are synchronous, so fsync() |
634 | 634 | * is a dummy operation. |
635 | 635 | */ |
636 | -int nfs_fsync_dir(struct file *filp, struct dentry *dentry, int datasync) | |
636 | +static int nfs_fsync_dir(struct file *filp, struct dentry *dentry, int datasync) | |
637 | 637 | { |
638 | 638 | dfprintk(VFS, "NFS: fsync_dir(%s/%s) datasync %d\n", |
639 | 639 | dentry->d_parent->d_name.name, dentry->d_name.name, |
fs/nfs/nfs4proc.c
... | ... | @@ -790,7 +790,7 @@ |
790 | 790 | return -EACCES; |
791 | 791 | } |
792 | 792 | |
793 | -int nfs4_recover_expired_lease(struct nfs_server *server) | |
793 | +static int nfs4_recover_expired_lease(struct nfs_server *server) | |
794 | 794 | { |
795 | 795 | struct nfs_client *clp = server->nfs_client; |
796 | 796 | int ret; |
... | ... | @@ -2748,7 +2748,7 @@ |
2748 | 2748 | /* This is the error handling routine for processes that are allowed |
2749 | 2749 | * to sleep. |
2750 | 2750 | */ |
2751 | -int nfs4_handle_exception(const struct nfs_server *server, int errorcode, struct nfs4_exception *exception) | |
2751 | +static int nfs4_handle_exception(const struct nfs_server *server, int errorcode, struct nfs4_exception *exception) | |
2752 | 2752 | { |
2753 | 2753 | struct nfs_client *clp = server->nfs_client; |
2754 | 2754 | int ret = errorcode; |
fs/nfs/nfs4state.c
fs/nfs/nfs4xdr.c
... | ... | @@ -646,10 +646,10 @@ |
646 | 646 | { |
647 | 647 | __be32 *p; |
648 | 648 | |
649 | - RESERVE_SPACE(8+sizeof(arg->stateid->data)); | |
649 | + RESERVE_SPACE(8+NFS4_STATEID_SIZE); | |
650 | 650 | WRITE32(OP_CLOSE); |
651 | 651 | WRITE32(arg->seqid->sequence->counter); |
652 | - WRITEMEM(arg->stateid->data, sizeof(arg->stateid->data)); | |
652 | + WRITEMEM(arg->stateid->data, NFS4_STATEID_SIZE); | |
653 | 653 | |
654 | 654 | return 0; |
655 | 655 | } |
656 | 656 | |
657 | 657 | |
... | ... | @@ -793,17 +793,17 @@ |
793 | 793 | WRITE64(nfs4_lock_length(args->fl)); |
794 | 794 | WRITE32(args->new_lock_owner); |
795 | 795 | if (args->new_lock_owner){ |
796 | - RESERVE_SPACE(40); | |
796 | + RESERVE_SPACE(4+NFS4_STATEID_SIZE+20); | |
797 | 797 | WRITE32(args->open_seqid->sequence->counter); |
798 | - WRITEMEM(args->open_stateid->data, sizeof(args->open_stateid->data)); | |
798 | + WRITEMEM(args->open_stateid->data, NFS4_STATEID_SIZE); | |
799 | 799 | WRITE32(args->lock_seqid->sequence->counter); |
800 | 800 | WRITE64(args->lock_owner.clientid); |
801 | 801 | WRITE32(4); |
802 | 802 | WRITE32(args->lock_owner.id); |
803 | 803 | } |
804 | 804 | else { |
805 | - RESERVE_SPACE(20); | |
806 | - WRITEMEM(args->lock_stateid->data, sizeof(args->lock_stateid->data)); | |
805 | + RESERVE_SPACE(NFS4_STATEID_SIZE+4); | |
806 | + WRITEMEM(args->lock_stateid->data, NFS4_STATEID_SIZE); | |
807 | 807 | WRITE32(args->lock_seqid->sequence->counter); |
808 | 808 | } |
809 | 809 | |
810 | 810 | |
... | ... | @@ -830,11 +830,11 @@ |
830 | 830 | { |
831 | 831 | __be32 *p; |
832 | 832 | |
833 | - RESERVE_SPACE(44); | |
833 | + RESERVE_SPACE(12+NFS4_STATEID_SIZE+16); | |
834 | 834 | WRITE32(OP_LOCKU); |
835 | 835 | WRITE32(nfs4_lock_type(args->fl, 0)); |
836 | 836 | WRITE32(args->seqid->sequence->counter); |
837 | - WRITEMEM(args->stateid->data, sizeof(args->stateid->data)); | |
837 | + WRITEMEM(args->stateid->data, NFS4_STATEID_SIZE); | |
838 | 838 | WRITE64(args->fl->fl_start); |
839 | 839 | WRITE64(nfs4_lock_length(args->fl)); |
840 | 840 | |
841 | 841 | |
... | ... | @@ -966,9 +966,9 @@ |
966 | 966 | { |
967 | 967 | __be32 *p; |
968 | 968 | |
969 | - RESERVE_SPACE(4+sizeof(stateid->data)); | |
969 | + RESERVE_SPACE(4+NFS4_STATEID_SIZE); | |
970 | 970 | WRITE32(NFS4_OPEN_CLAIM_DELEGATE_CUR); |
971 | - WRITEMEM(stateid->data, sizeof(stateid->data)); | |
971 | + WRITEMEM(stateid->data, NFS4_STATEID_SIZE); | |
972 | 972 | encode_string(xdr, name->len, name->name); |
973 | 973 | } |
974 | 974 | |
975 | 975 | |
... | ... | @@ -996,9 +996,9 @@ |
996 | 996 | { |
997 | 997 | __be32 *p; |
998 | 998 | |
999 | - RESERVE_SPACE(8+sizeof(arg->stateid->data)); | |
999 | + RESERVE_SPACE(4+NFS4_STATEID_SIZE+4); | |
1000 | 1000 | WRITE32(OP_OPEN_CONFIRM); |
1001 | - WRITEMEM(arg->stateid->data, sizeof(arg->stateid->data)); | |
1001 | + WRITEMEM(arg->stateid->data, NFS4_STATEID_SIZE); | |
1002 | 1002 | WRITE32(arg->seqid->sequence->counter); |
1003 | 1003 | |
1004 | 1004 | return 0; |
1005 | 1005 | |
... | ... | @@ -1008,9 +1008,9 @@ |
1008 | 1008 | { |
1009 | 1009 | __be32 *p; |
1010 | 1010 | |
1011 | - RESERVE_SPACE(8+sizeof(arg->stateid->data)); | |
1011 | + RESERVE_SPACE(4+NFS4_STATEID_SIZE+4); | |
1012 | 1012 | WRITE32(OP_OPEN_DOWNGRADE); |
1013 | - WRITEMEM(arg->stateid->data, sizeof(arg->stateid->data)); | |
1013 | + WRITEMEM(arg->stateid->data, NFS4_STATEID_SIZE); | |
1014 | 1014 | WRITE32(arg->seqid->sequence->counter); |
1015 | 1015 | encode_share_access(xdr, arg->open_flags); |
1016 | 1016 | return 0; |
1017 | 1017 | |
1018 | 1018 | |
... | ... | @@ -1045,12 +1045,12 @@ |
1045 | 1045 | nfs4_stateid stateid; |
1046 | 1046 | __be32 *p; |
1047 | 1047 | |
1048 | - RESERVE_SPACE(16); | |
1048 | + RESERVE_SPACE(NFS4_STATEID_SIZE); | |
1049 | 1049 | if (ctx->state != NULL) { |
1050 | 1050 | nfs4_copy_stateid(&stateid, ctx->state, ctx->lockowner); |
1051 | - WRITEMEM(stateid.data, sizeof(stateid.data)); | |
1051 | + WRITEMEM(stateid.data, NFS4_STATEID_SIZE); | |
1052 | 1052 | } else |
1053 | - WRITEMEM(zero_stateid.data, sizeof(zero_stateid.data)); | |
1053 | + WRITEMEM(zero_stateid.data, NFS4_STATEID_SIZE); | |
1054 | 1054 | } |
1055 | 1055 | |
1056 | 1056 | static int encode_read(struct xdr_stream *xdr, const struct nfs_readargs *args) |
1057 | 1057 | |
... | ... | @@ -1079,10 +1079,10 @@ |
1079 | 1079 | int replen; |
1080 | 1080 | __be32 *p; |
1081 | 1081 | |
1082 | - RESERVE_SPACE(32+sizeof(nfs4_verifier)); | |
1082 | + RESERVE_SPACE(12+NFS4_VERIFIER_SIZE+20); | |
1083 | 1083 | WRITE32(OP_READDIR); |
1084 | 1084 | WRITE64(readdir->cookie); |
1085 | - WRITEMEM(readdir->verifier.data, sizeof(readdir->verifier.data)); | |
1085 | + WRITEMEM(readdir->verifier.data, NFS4_VERIFIER_SIZE); | |
1086 | 1086 | WRITE32(readdir->count >> 1); /* We're not doing readdirplus */ |
1087 | 1087 | WRITE32(readdir->count); |
1088 | 1088 | WRITE32(2); |
1089 | 1089 | |
... | ... | @@ -1190,9 +1190,9 @@ |
1190 | 1190 | { |
1191 | 1191 | __be32 *p; |
1192 | 1192 | |
1193 | - RESERVE_SPACE(4+sizeof(zero_stateid.data)); | |
1193 | + RESERVE_SPACE(4+NFS4_STATEID_SIZE); | |
1194 | 1194 | WRITE32(OP_SETATTR); |
1195 | - WRITEMEM(zero_stateid.data, sizeof(zero_stateid.data)); | |
1195 | + WRITEMEM(zero_stateid.data, NFS4_STATEID_SIZE); | |
1196 | 1196 | RESERVE_SPACE(2*4); |
1197 | 1197 | WRITE32(1); |
1198 | 1198 | WRITE32(FATTR4_WORD0_ACL); |
1199 | 1199 | |
... | ... | @@ -1220,9 +1220,9 @@ |
1220 | 1220 | int status; |
1221 | 1221 | __be32 *p; |
1222 | 1222 | |
1223 | - RESERVE_SPACE(4+sizeof(arg->stateid.data)); | |
1223 | + RESERVE_SPACE(4+NFS4_STATEID_SIZE); | |
1224 | 1224 | WRITE32(OP_SETATTR); |
1225 | - WRITEMEM(arg->stateid.data, sizeof(arg->stateid.data)); | |
1225 | + WRITEMEM(arg->stateid.data, NFS4_STATEID_SIZE); | |
1226 | 1226 | |
1227 | 1227 | if ((status = encode_attrs(xdr, arg->iap, server))) |
1228 | 1228 | return status; |
1229 | 1229 | |
... | ... | @@ -1234,9 +1234,9 @@ |
1234 | 1234 | { |
1235 | 1235 | __be32 *p; |
1236 | 1236 | |
1237 | - RESERVE_SPACE(4 + sizeof(setclientid->sc_verifier->data)); | |
1237 | + RESERVE_SPACE(4 + NFS4_VERIFIER_SIZE); | |
1238 | 1238 | WRITE32(OP_SETCLIENTID); |
1239 | - WRITEMEM(setclientid->sc_verifier->data, sizeof(setclientid->sc_verifier->data)); | |
1239 | + WRITEMEM(setclientid->sc_verifier->data, NFS4_VERIFIER_SIZE); | |
1240 | 1240 | |
1241 | 1241 | encode_string(xdr, setclientid->sc_name_len, setclientid->sc_name); |
1242 | 1242 | RESERVE_SPACE(4); |
1243 | 1243 | |
... | ... | @@ -1253,10 +1253,10 @@ |
1253 | 1253 | { |
1254 | 1254 | __be32 *p; |
1255 | 1255 | |
1256 | - RESERVE_SPACE(12 + sizeof(client_state->cl_confirm.data)); | |
1256 | + RESERVE_SPACE(12 + NFS4_VERIFIER_SIZE); | |
1257 | 1257 | WRITE32(OP_SETCLIENTID_CONFIRM); |
1258 | 1258 | WRITE64(client_state->cl_clientid); |
1259 | - WRITEMEM(client_state->cl_confirm.data, sizeof(client_state->cl_confirm.data)); | |
1259 | + WRITEMEM(client_state->cl_confirm.data, NFS4_VERIFIER_SIZE); | |
1260 | 1260 | |
1261 | 1261 | return 0; |
1262 | 1262 | } |
1263 | 1263 | |
... | ... | @@ -1284,10 +1284,10 @@ |
1284 | 1284 | { |
1285 | 1285 | __be32 *p; |
1286 | 1286 | |
1287 | - RESERVE_SPACE(20); | |
1287 | + RESERVE_SPACE(4+NFS4_STATEID_SIZE); | |
1288 | 1288 | |
1289 | 1289 | WRITE32(OP_DELEGRETURN); |
1290 | - WRITEMEM(stateid->data, sizeof(stateid->data)); | |
1290 | + WRITEMEM(stateid->data, NFS4_STATEID_SIZE); | |
1291 | 1291 | return 0; |
1292 | 1292 | |
1293 | 1293 | } |
... | ... | @@ -2494,7 +2494,7 @@ |
2494 | 2494 | int i; |
2495 | 2495 | dprintk("%s: using first %d of %d servers returned for location %d\n", __FUNCTION__, NFS4_FS_LOCATION_MAXSERVERS, m, res->nlocations); |
2496 | 2496 | for (i = loc->nservers; i < m; i++) { |
2497 | - int len; | |
2497 | + unsigned int len; | |
2498 | 2498 | char *data; |
2499 | 2499 | status = decode_opaque_inline(xdr, &len, &data); |
2500 | 2500 | if (unlikely(status != 0)) |
... | ... | @@ -2642,7 +2642,7 @@ |
2642 | 2642 | return 0; |
2643 | 2643 | } |
2644 | 2644 | |
2645 | -static int decode_attr_owner(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_client *clp, int32_t *uid) | |
2645 | +static int decode_attr_owner(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_client *clp, uint32_t *uid) | |
2646 | 2646 | { |
2647 | 2647 | uint32_t len; |
2648 | 2648 | __be32 *p; |
... | ... | @@ -2667,7 +2667,7 @@ |
2667 | 2667 | return 0; |
2668 | 2668 | } |
2669 | 2669 | |
2670 | -static int decode_attr_group(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_client *clp, int32_t *gid) | |
2670 | +static int decode_attr_group(struct xdr_stream *xdr, uint32_t *bitmap, struct nfs_client *clp, uint32_t *gid) | |
2671 | 2671 | { |
2672 | 2672 | uint32_t len; |
2673 | 2673 | __be32 *p; |
... | ... | @@ -2897,8 +2897,8 @@ |
2897 | 2897 | status = decode_op_hdr(xdr, OP_CLOSE); |
2898 | 2898 | if (status) |
2899 | 2899 | return status; |
2900 | - READ_BUF(sizeof(res->stateid.data)); | |
2901 | - COPYMEM(res->stateid.data, sizeof(res->stateid.data)); | |
2900 | + READ_BUF(NFS4_STATEID_SIZE); | |
2901 | + COPYMEM(res->stateid.data, NFS4_STATEID_SIZE); | |
2902 | 2902 | return 0; |
2903 | 2903 | } |
2904 | 2904 | |
... | ... | @@ -3186,8 +3186,8 @@ |
3186 | 3186 | |
3187 | 3187 | status = decode_op_hdr(xdr, OP_LOCK); |
3188 | 3188 | if (status == 0) { |
3189 | - READ_BUF(sizeof(res->stateid.data)); | |
3190 | - COPYMEM(res->stateid.data, sizeof(res->stateid.data)); | |
3189 | + READ_BUF(NFS4_STATEID_SIZE); | |
3190 | + COPYMEM(res->stateid.data, NFS4_STATEID_SIZE); | |
3191 | 3191 | } else if (status == -NFS4ERR_DENIED) |
3192 | 3192 | return decode_lock_denied(xdr, NULL); |
3193 | 3193 | return status; |
... | ... | @@ -3209,8 +3209,8 @@ |
3209 | 3209 | |
3210 | 3210 | status = decode_op_hdr(xdr, OP_LOCKU); |
3211 | 3211 | if (status == 0) { |
3212 | - READ_BUF(sizeof(res->stateid.data)); | |
3213 | - COPYMEM(res->stateid.data, sizeof(res->stateid.data)); | |
3212 | + READ_BUF(NFS4_STATEID_SIZE); | |
3213 | + COPYMEM(res->stateid.data, NFS4_STATEID_SIZE); | |
3214 | 3214 | } |
3215 | 3215 | return status; |
3216 | 3216 | } |
... | ... | @@ -3251,8 +3251,8 @@ |
3251 | 3251 | res->delegation_type = 0; |
3252 | 3252 | return 0; |
3253 | 3253 | } |
3254 | - READ_BUF(20); | |
3255 | - COPYMEM(res->delegation.data, sizeof(res->delegation.data)); | |
3254 | + READ_BUF(NFS4_STATEID_SIZE+4); | |
3255 | + COPYMEM(res->delegation.data, NFS4_STATEID_SIZE); | |
3256 | 3256 | READ32(res->do_recall); |
3257 | 3257 | switch (delegation_type) { |
3258 | 3258 | case NFS4_OPEN_DELEGATE_READ: |
... | ... | @@ -3275,8 +3275,8 @@ |
3275 | 3275 | status = decode_op_hdr(xdr, OP_OPEN); |
3276 | 3276 | if (status) |
3277 | 3277 | return status; |
3278 | - READ_BUF(sizeof(res->stateid.data)); | |
3279 | - COPYMEM(res->stateid.data, sizeof(res->stateid.data)); | |
3278 | + READ_BUF(NFS4_STATEID_SIZE); | |
3279 | + COPYMEM(res->stateid.data, NFS4_STATEID_SIZE); | |
3280 | 3280 | |
3281 | 3281 | decode_change_info(xdr, &res->cinfo); |
3282 | 3282 | |
... | ... | @@ -3302,8 +3302,8 @@ |
3302 | 3302 | status = decode_op_hdr(xdr, OP_OPEN_CONFIRM); |
3303 | 3303 | if (status) |
3304 | 3304 | return status; |
3305 | - READ_BUF(sizeof(res->stateid.data)); | |
3306 | - COPYMEM(res->stateid.data, sizeof(res->stateid.data)); | |
3305 | + READ_BUF(NFS4_STATEID_SIZE); | |
3306 | + COPYMEM(res->stateid.data, NFS4_STATEID_SIZE); | |
3307 | 3307 | return 0; |
3308 | 3308 | } |
3309 | 3309 | |
... | ... | @@ -3315,8 +3315,8 @@ |
3315 | 3315 | status = decode_op_hdr(xdr, OP_OPEN_DOWNGRADE); |
3316 | 3316 | if (status) |
3317 | 3317 | return status; |
3318 | - READ_BUF(sizeof(res->stateid.data)); | |
3319 | - COPYMEM(res->stateid.data, sizeof(res->stateid.data)); | |
3318 | + READ_BUF(NFS4_STATEID_SIZE); | |
3319 | + COPYMEM(res->stateid.data, NFS4_STATEID_SIZE); | |
3320 | 3320 | return 0; |
3321 | 3321 | } |
3322 | 3322 | |
3323 | 3323 | |
... | ... | @@ -3590,9 +3590,9 @@ |
3590 | 3590 | } |
3591 | 3591 | READ32(nfserr); |
3592 | 3592 | if (nfserr == NFS_OK) { |
3593 | - READ_BUF(8 + sizeof(clp->cl_confirm.data)); | |
3593 | + READ_BUF(8 + NFS4_VERIFIER_SIZE); | |
3594 | 3594 | READ64(clp->cl_clientid); |
3595 | - COPYMEM(clp->cl_confirm.data, sizeof(clp->cl_confirm.data)); | |
3595 | + COPYMEM(clp->cl_confirm.data, NFS4_VERIFIER_SIZE); | |
3596 | 3596 | } else if (nfserr == NFSERR_CLID_INUSE) { |
3597 | 3597 | uint32_t len; |
3598 | 3598 |
fs/nfs/read.c
... | ... | @@ -79,7 +79,7 @@ |
79 | 79 | static |
80 | 80 | int nfs_return_empty_page(struct page *page) |
81 | 81 | { |
82 | - memclear_highpage_flush(page, 0, PAGE_CACHE_SIZE); | |
82 | + zero_user_page(page, 0, PAGE_CACHE_SIZE, KM_USER0); | |
83 | 83 | SetPageUptodate(page); |
84 | 84 | unlock_page(page); |
85 | 85 | return 0; |
86 | 86 | |
... | ... | @@ -103,10 +103,10 @@ |
103 | 103 | pglen = PAGE_CACHE_SIZE - base; |
104 | 104 | for (;;) { |
105 | 105 | if (remainder <= pglen) { |
106 | - memclear_highpage_flush(*pages, base, remainder); | |
106 | + zero_user_page(*pages, base, remainder, KM_USER0); | |
107 | 107 | break; |
108 | 108 | } |
109 | - memclear_highpage_flush(*pages, base, pglen); | |
109 | + zero_user_page(*pages, base, pglen, KM_USER0); | |
110 | 110 | pages++; |
111 | 111 | remainder -= pglen; |
112 | 112 | pglen = PAGE_CACHE_SIZE; |
... | ... | @@ -130,7 +130,7 @@ |
130 | 130 | return PTR_ERR(new); |
131 | 131 | } |
132 | 132 | if (len < PAGE_CACHE_SIZE) |
133 | - memclear_highpage_flush(page, len, PAGE_CACHE_SIZE - len); | |
133 | + zero_user_page(page, len, PAGE_CACHE_SIZE - len, KM_USER0); | |
134 | 134 | |
135 | 135 | nfs_list_add_request(new, &one_request); |
136 | 136 | if (NFS_SERVER(inode)->rsize < PAGE_CACHE_SIZE) |
... | ... | @@ -532,7 +532,7 @@ |
532 | 532 | return PTR_ERR(new); |
533 | 533 | } |
534 | 534 | if (len < PAGE_CACHE_SIZE) |
535 | - memclear_highpage_flush(page, len, PAGE_CACHE_SIZE - len); | |
535 | + zero_user_page(page, len, PAGE_CACHE_SIZE - len, KM_USER0); | |
536 | 536 | nfs_pageio_add_request(desc->pgio, new); |
537 | 537 | return 0; |
538 | 538 | } |
fs/nfs/write.c
... | ... | @@ -58,7 +58,7 @@ |
58 | 58 | return p; |
59 | 59 | } |
60 | 60 | |
61 | -void nfs_commit_rcu_free(struct rcu_head *head) | |
61 | +static void nfs_commit_rcu_free(struct rcu_head *head) | |
62 | 62 | { |
63 | 63 | struct nfs_write_data *p = container_of(head, struct nfs_write_data, task.u.tk_rcu); |
64 | 64 | if (p && (p->pagevec != &p->page_array[0])) |
... | ... | @@ -168,7 +168,7 @@ |
168 | 168 | if (count != nfs_page_length(page)) |
169 | 169 | return; |
170 | 170 | if (count != PAGE_CACHE_SIZE) |
171 | - memclear_highpage_flush(page, count, PAGE_CACHE_SIZE - count); | |
171 | + zero_user_page(page, count, PAGE_CACHE_SIZE - count, KM_USER0); | |
172 | 172 | SetPageUptodate(page); |
173 | 173 | } |
174 | 174 | |
... | ... | @@ -922,7 +922,7 @@ |
922 | 922 | return 0; |
923 | 923 | out_bad: |
924 | 924 | while (!list_empty(head)) { |
925 | - struct nfs_page *req = nfs_list_entry(head->next); | |
925 | + req = nfs_list_entry(head->next); | |
926 | 926 | nfs_list_remove_request(req); |
927 | 927 | nfs_redirty_request(req); |
928 | 928 | nfs_end_page_writeback(req->wb_page); |
include/linux/lockd/xdr4.h
include/linux/nfs4.h
... | ... | @@ -16,6 +16,7 @@ |
16 | 16 | #include <linux/types.h> |
17 | 17 | |
18 | 18 | #define NFS4_VERIFIER_SIZE 8 |
19 | +#define NFS4_STATEID_SIZE 16 | |
19 | 20 | #define NFS4_FHSIZE 128 |
20 | 21 | #define NFS4_MAXPATHLEN PATH_MAX |
21 | 22 | #define NFS4_MAXNAMLEN NAME_MAX |
... | ... | @@ -113,7 +114,7 @@ |
113 | 114 | }; |
114 | 115 | |
115 | 116 | typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier; |
116 | -typedef struct { char data[16]; } nfs4_stateid; | |
117 | +typedef struct { char data[NFS4_STATEID_SIZE]; } nfs4_stateid; | |
117 | 118 | |
118 | 119 | enum nfs_opnum4 { |
119 | 120 | OP_ACCESS = 3, |
include/linux/sunrpc/rpc_pipe_fs.h
include/linux/sunrpc/xprt.h
... | ... | @@ -244,6 +244,8 @@ |
244 | 244 | */ |
245 | 245 | struct rpc_xprt * xs_setup_udp(struct sockaddr *addr, size_t addrlen, struct rpc_timeout *to); |
246 | 246 | struct rpc_xprt * xs_setup_tcp(struct sockaddr *addr, size_t addrlen, struct rpc_timeout *to); |
247 | +int init_socket_xprt(void); | |
248 | +void cleanup_socket_xprt(void); | |
247 | 249 | |
248 | 250 | /* |
249 | 251 | * Reserved bit positions in xprt->state |
net/sunrpc/sched.c
net/sunrpc/sunrpc_syms.c
... | ... | @@ -134,11 +134,7 @@ |
134 | 134 | EXPORT_SYMBOL(nlm_debug); |
135 | 135 | #endif |
136 | 136 | |
137 | -extern int register_rpc_pipefs(void); | |
138 | -extern void unregister_rpc_pipefs(void); | |
139 | 137 | extern struct cache_detail ip_map_cache, unix_gid_cache; |
140 | -extern int init_socket_xprt(void); | |
141 | -extern void cleanup_socket_xprt(void); | |
142 | 138 | |
143 | 139 | static int __init |
144 | 140 | init_sunrpc(void) |