summaryrefslogtreecommitdiffstats
path: root/fs/afs/internal.h
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2016-09-23 14:57:16 +0200
committerLinus Walleij <linus.walleij@linaro.org>2016-09-23 14:57:16 +0200
commit0565f49cfe937640c2347f6d7f40ad2f4e4f088b (patch)
tree6067447df39c37946bc2de3ee004f45957bf123e /fs/afs/internal.h
parentccf1e9e1c0072088420aad42797986d6e74366b5 (diff)
parent9395452b4aab7bc2475ef8935b4a4fb99d778d70 (diff)
downloadtalos-op-linux-0565f49cfe937640c2347f6d7f40ad2f4e4f088b.tar.gz
talos-op-linux-0565f49cfe937640c2347f6d7f40ad2f4e4f088b.zip
Merge tag 'v4.8-rc6' into devel
Linux 4.8-rc6
Diffstat (limited to 'fs/afs/internal.h')
-rw-r--r--fs/afs/internal.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/fs/afs/internal.h b/fs/afs/internal.h
index 71d5982312f3..df976b2a7f40 100644
--- a/fs/afs/internal.h
+++ b/fs/afs/internal.h
@@ -609,17 +609,29 @@ extern void afs_proc_cell_remove(struct afs_cell *);
*/
extern int afs_open_socket(void);
extern void afs_close_socket(void);
+extern void afs_data_consumed(struct afs_call *, struct sk_buff *);
extern int afs_make_call(struct in_addr *, struct afs_call *, gfp_t,
const struct afs_wait_mode *);
extern struct afs_call *afs_alloc_flat_call(const struct afs_call_type *,
size_t, size_t);
extern void afs_flat_call_destructor(struct afs_call *);
-extern void afs_transfer_reply(struct afs_call *, struct sk_buff *);
+extern int afs_transfer_reply(struct afs_call *, struct sk_buff *, bool);
extern void afs_send_empty_reply(struct afs_call *);
extern void afs_send_simple_reply(struct afs_call *, const void *, size_t);
extern int afs_extract_data(struct afs_call *, struct sk_buff *, bool, void *,
size_t);
+static inline int afs_data_complete(struct afs_call *call, struct sk_buff *skb,
+ bool last)
+{
+ if (skb->len > 0)
+ return -EBADMSG;
+ afs_data_consumed(call, skb);
+ if (!last)
+ return -EAGAIN;
+ return 0;
+}
+
/*
* security.c
*/
OpenPOWER on IntegriCloud