From: Miklos Szeredi Date: Fri, 21 Jun 2013 11:35:30 +0000 (+0200) Subject: libfuse: replace fuse_session_next_chan X-Git-Tag: fuse-3.0.0pre0~117 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2bcfd55fc145430e49193715417ced10d58d7b54;p=qemu-gpiodev%2Flibfuse.git libfuse: replace fuse_session_next_chan Replace fuse_session_next_chan() with fuse_session_chan(), as multiple channels per session were never actually supported and probably never will. --- diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h index 9a16237..f62afcc 100644 --- a/include/fuse_lowlevel.h +++ b/include/fuse_lowlevel.h @@ -1627,9 +1627,6 @@ struct fuse_session *fuse_session_new(struct fuse_session_ops *op, void *data); /** * Assign a channel to a session * - * Note: currently only a single channel may be assigned. This may - * change in the future - * * If a session is destroyed, the assigned channel is also destroyed * * @param se the session @@ -1638,7 +1635,7 @@ struct fuse_session *fuse_session_new(struct fuse_session_ops *op, void *data); void fuse_session_add_chan(struct fuse_session *se, struct fuse_chan *ch); /** - * Remove a channel from a session + * Remove the channel from a session * * If the channel is not assigned to a session, then this is a no-op * @@ -1647,18 +1644,12 @@ void fuse_session_add_chan(struct fuse_session *se, struct fuse_chan *ch); void fuse_session_remove_chan(struct fuse_chan *ch); /** - * Iterate over the channels assigned to a session - * - * The iterating function needs to start with a NULL channel, and - * after that needs to pass the previously returned channel to the - * function. + * Return channel assigned to the session * * @param se the session - * @param ch the previous channel, or NULL - * @return the next channel, or NULL if no more channels exist + * @return the channel */ -struct fuse_chan *fuse_session_next_chan(struct fuse_session *se, - struct fuse_chan *ch); +struct fuse_chan *fuse_session_chan(struct fuse_session *se); /** * Process a raw request diff --git a/lib/fuse.c b/lib/fuse.c index e2d48d3..f159063 100644 --- a/lib/fuse.c +++ b/lib/fuse.c @@ -4021,7 +4021,7 @@ static int fuse_session_loop_remember(struct fuse *f) int res = 0; struct timespec now; time_t next_clean; - struct fuse_chan *ch = fuse_session_next_chan(se, NULL); + struct fuse_chan *ch = fuse_session_chan(se); size_t bufsize = fuse_chan_bufsize(ch); char *buf = (char *) malloc(bufsize); struct pollfd fds = { diff --git a/lib/fuse_loop.c b/lib/fuse_loop.c index b7b4ca4..987a8d7 100644 --- a/lib/fuse_loop.c +++ b/lib/fuse_loop.c @@ -15,7 +15,7 @@ int fuse_session_loop(struct fuse_session *se) { int res = 0; - struct fuse_chan *ch = fuse_session_next_chan(se, NULL); + struct fuse_chan *ch = fuse_session_chan(se); size_t bufsize = fuse_chan_bufsize(ch); char *buf = (char *) malloc(bufsize); if (!buf) { diff --git a/lib/fuse_loop_mt.c b/lib/fuse_loop_mt.c index 82e3001..f328fec 100644 --- a/lib/fuse_loop_mt.c +++ b/lib/fuse_loop_mt.c @@ -224,7 +224,7 @@ int fuse_session_loop_mt(struct fuse_session *se) memset(&mt, 0, sizeof(struct fuse_mt)); mt.se = se; - mt.prevch = fuse_session_next_chan(se, NULL); + mt.prevch = fuse_session_chan(se); mt.error = 0; mt.numworker = 0; mt.numavail = 0; diff --git a/lib/fuse_session.c b/lib/fuse_session.c index 80bf0ea..2a4fc8d 100644 --- a/lib/fuse_session.c +++ b/lib/fuse_session.c @@ -58,14 +58,9 @@ void fuse_session_remove_chan(struct fuse_chan *ch) } } -struct fuse_chan *fuse_session_next_chan(struct fuse_session *se, - struct fuse_chan *ch) +struct fuse_chan *fuse_session_chan(struct fuse_session *se) { - assert(ch == NULL || ch == se->ch); - if (ch == NULL) - return se->ch; - else - return NULL; + return se->ch; } void fuse_session_process(struct fuse_session *se, const char *buf, size_t len, diff --git a/lib/fuse_versionscript b/lib/fuse_versionscript index 7c717f4..391c4f8 100644 --- a/lib/fuse_versionscript +++ b/lib/fuse_versionscript @@ -25,7 +25,7 @@ FUSE_3.0 { fuse_session_loop; fuse_session_loop_mt; fuse_session_new; - fuse_session_next_chan; + fuse_session_chan; fuse_session_process; fuse_session_reset; fuse_opt_parse; diff --git a/lib/helper.c b/lib/helper.c index 58dfb43..139e1ae 100644 --- a/lib/helper.c +++ b/lib/helper.c @@ -299,7 +299,7 @@ err_free: static void fuse_teardown(struct fuse *fuse, char *mountpoint) { struct fuse_session *se = fuse_get_session(fuse); - struct fuse_chan *ch = fuse_session_next_chan(se, NULL); + struct fuse_chan *ch = fuse_session_chan(se); fuse_remove_signal_handlers(se); fuse_unmount(mountpoint, ch); fuse_destroy(fuse);