cleanup
diff --git a/lib/fuse.c b/lib/fuse.c
index d61c6c8..99bca56 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -61,7 +61,6 @@
}
}
-
static inline void dec_avail(struct fuse *f)
{
pthread_mutex_lock(&f->lock);
@@ -69,7 +68,7 @@
pthread_mutex_unlock(&f->lock);
}
-static struct node *__get_node(struct fuse *f, nodeid_t nodeid)
+static struct node *get_node_nocheck(struct fuse *f, nodeid_t nodeid)
{
size_t hash = nodeid % f->id_table_size;
struct node *node;
@@ -83,7 +82,7 @@
static struct node *get_node(struct fuse *f, nodeid_t nodeid)
{
- struct node *node = __get_node(f, nodeid);
+ struct node *node = get_node_nocheck(f, nodeid);
if (node != NULL)
return node;
@@ -116,7 +115,7 @@
f->ctr++;
if (!f->ctr)
f->generation ++;
- } while (f->ctr == 0 || __get_node(f, f->ctr) != NULL);
+ } while (f->ctr == 0 || get_node_nocheck(f, f->ctr) != NULL);
return f->ctr;
}
@@ -137,7 +136,7 @@
return (hash + parent) % f->name_table_size;
}
-static struct node *__lookup_node(struct fuse *f, nodeid_t parent,
+static struct node *lookup_node(struct fuse *f, nodeid_t parent,
const char *name)
{
size_t hash = name_hash(f, parent, name);
@@ -150,22 +149,6 @@
return NULL;
}
-static struct node *lookup_node(struct fuse *f, nodeid_t parent,
- const char *name)
-{
- struct node *node;
-
- pthread_mutex_lock(&f->lock);
- node = __lookup_node(f, parent, name);
- pthread_mutex_unlock(&f->lock);
- if (node != NULL)
- return node;
-
- fprintf(stderr, "fuse internal error: node %lu/%s not found\n", parent,
- name);
- abort();
-}
-
static int hash_name(struct fuse *f, struct node *node, nodeid_t parent,
const char *name)
{
@@ -212,7 +195,7 @@
rdev = attr->rdev;
pthread_mutex_lock(&f->lock);
- node = __lookup_node(f, parent, name);
+ node = lookup_node(f, parent, name);
if (node != NULL) {
if (node->mode == mode && node->rdev == rdev &&
(!(f->flags & FUSE_USE_INO) || node->ino == attr->ino)) {
@@ -270,7 +253,7 @@
err = 0;
for (s = tmp; (name = strsep(&s, "/")) != NULL; ) {
if (name[0]) {
- struct node *node = __lookup_node(f, nodeid, name);
+ struct node *node = lookup_node(f, nodeid, name);
if (node == NULL) {
err = -ENOENT;
break;
@@ -350,7 +333,7 @@
struct node *node;
pthread_mutex_lock(&f->lock);
- node = __get_node(f, nodeid);
+ node = get_node_nocheck(f, nodeid);
if (node && node->version == version && nodeid != FUSE_ROOT_ID) {
unhash_name(f, node);
unhash_id(f, node);
@@ -365,7 +348,7 @@
struct node *node;
pthread_mutex_lock(&f->lock);
- node = __lookup_node(f, dir, name);
+ node = lookup_node(f, dir, name);
if (node == NULL) {
fprintf(stderr, "fuse internal error: unable to remove node %lu/%s\n",
dir, name);
@@ -383,8 +366,8 @@
int err = 0;
pthread_mutex_lock(&f->lock);
- node = __lookup_node(f, olddir, oldname);
- newnode = __lookup_node(f, newdir, newname);
+ node = lookup_node(f, olddir, oldname);
+ newnode = lookup_node(f, newdir, newname);
if (node == NULL) {
fprintf(stderr, "fuse internal error: unable to rename node %lu/%s\n",
olddir, oldname);
@@ -488,8 +471,8 @@
return 0;
}
-static int __send_reply(struct fuse *f, struct fuse_in_header *in, int error,
- void *arg, size_t argsize, int locked)
+static int do_send_reply(struct fuse *f, struct fuse_in_header *in, int error,
+ void *arg, size_t argsize, int locked)
{
int res;
char *outbuf;
@@ -525,9 +508,15 @@
}
static int send_reply(struct fuse *f, struct fuse_in_header *in, int error,
- void *arg, size_t argsize)
+ void *arg, size_t argsize)
{
- return __send_reply(f, in, error, arg, argsize, 0);
+ return do_send_reply(f, in, error, arg, argsize, 0);
+}
+
+static int send_reply_locked(struct fuse *f, struct fuse_in_header *in,
+ int error, void *arg, size_t argsize)
+{
+ return do_send_reply(f, in, error, arg, argsize, 1);
}
static int is_open(struct fuse *f, nodeid_t dir, const char *name)
@@ -535,7 +524,7 @@
struct node *node;
int isopen = 0;
pthread_mutex_lock(&f->lock);
- node = __lookup_node(f, dir, name);
+ node = lookup_node(f, dir, name);
if (node && node->open_count > 0)
isopen = 1;
pthread_mutex_unlock(&f->lock);
@@ -556,13 +545,18 @@
return NULL;
do {
- node = lookup_node(f, dir, oldname);
pthread_mutex_lock(&f->lock);
+ node = lookup_node(f, dir, oldname);
+ if (node == NULL) {
+ fprintf(stderr, "fuse internal error: node %lu/%s not found\n",
+ dir, oldname);
+ abort();
+ }
do {
f->hidectr ++;
snprintf(newname, bufsize, ".fuse_hidden%08x%08x",
(unsigned int) node->nodeid, f->hidectr);
- newnode = __lookup_node(f, dir, newname);
+ newnode = lookup_node(f, dir, newname);
} while(newnode);
pthread_mutex_unlock(&f->lock);
@@ -1089,7 +1083,7 @@
fflush(stdout);
}
- res2 = __send_reply(f, in, res, &outarg, sizeof(outarg), 1);
+ res2 = send_reply_locked(f, in, res, &outarg, sizeof(outarg));
if(res2 == -ENOENT) {
/* The open syscall was interrupted, so it must be cancelled */
if(f->op.release.curr) {
@@ -1266,7 +1260,7 @@
return 0;
}
-static void convert_statfs_compat(struct _fuse_statfs_compat1 *compatbuf,
+static void convert_statfs_compat(struct fuse_statfs_compat1 *compatbuf,
struct statfs *statfs)
{
statfs->f_bsize = compatbuf->block_size;
@@ -1300,8 +1294,8 @@
if (!f->compat || f->compat > 11)
res = f->op.statfs.curr("/", &buf);
else {
- struct _fuse_statfs_compat1 compatbuf;
- memset(&compatbuf, 0, sizeof(struct _fuse_statfs_compat1));
+ struct fuse_statfs_compat1 compatbuf;
+ memset(&compatbuf, 0, sizeof(struct fuse_statfs_compat1));
res = f->op.statfs.compat1(&compatbuf);
if (res == 0)
convert_statfs_compat(&compatbuf, &buf);
@@ -1517,7 +1511,7 @@
free(cmd);
}
-void __fuse_process_cmd(struct fuse *f, struct fuse_cmd *cmd)
+void fuse_process_cmd(struct fuse *f, struct fuse_cmd *cmd)
{
struct fuse_in_header *in = (struct fuse_in_header *) cmd->buf;
void *inarg = cmd->buf + sizeof(struct fuse_in_header);
@@ -1641,12 +1635,12 @@
free_cmd(cmd);
}
-int __fuse_exited(struct fuse* f)
+int fuse_exited(struct fuse* f)
{
return f->exited;
}
-struct fuse_cmd *__fuse_read_cmd(struct fuse *f)
+struct fuse_cmd *fuse_read_cmd(struct fuse *f)
{
ssize_t res;
struct fuse_cmd *cmd;
@@ -1670,7 +1664,7 @@
res = read(f->fd, cmd->buf, FUSE_MAX_IN);
if (res == -1) {
free_cmd(cmd);
- if (__fuse_exited(f) || errno == EINTR)
+ if (fuse_exited(f) || errno == EINTR)
return NULL;
/* ENODEV means we got unmounted, so we silenty return failure */
@@ -1709,14 +1703,14 @@
while (1) {
struct fuse_cmd *cmd;
- if (__fuse_exited(f))
+ if (fuse_exited(f))
break;
- cmd = __fuse_read_cmd(f);
+ cmd = fuse_read_cmd(f);
if (cmd == NULL)
continue;
- __fuse_process_cmd(f, cmd);
+ fuse_process_cmd(f, cmd);
}
f->exited = 0;
return 0;
@@ -1772,7 +1766,7 @@
return &context;
}
-void __fuse_set_getcontext_func(struct fuse_context *(*func)(void))
+void fuse_set_getcontext_func(struct fuse_context *(*func)(void))
{
fuse_getcontext = func;
}
@@ -1944,21 +1938,21 @@
return fuse_new_common(fd, opts, op, op_size, 0);
}
-struct fuse *_fuse_new_compat2(int fd, const char *opts,
- const struct _fuse_operations_compat2 *op)
+struct fuse *fuse_new_compat2(int fd, const char *opts,
+ const struct fuse_operations_compat2 *op)
{
return fuse_new_common(fd, opts, (struct fuse_operations *) op,
- sizeof(struct _fuse_operations_compat2), 21);
+ sizeof(struct fuse_operations_compat2), 21);
}
-struct fuse *_fuse_new_compat1(int fd, int flags,
- const struct _fuse_operations_compat1 *op)
+struct fuse *fuse_new_compat1(int fd, int flags,
+ const struct fuse_operations_compat1 *op)
{
char *opts = NULL;
- if (flags & _FUSE_DEBUG_COMPAT1)
+ if (flags & FUSE_DEBUG_COMPAT1)
opts = "debug";
return fuse_new_common(fd, opts, (struct fuse_operations *) op,
- sizeof(struct _fuse_operations_compat1), 11);
+ sizeof(struct fuse_operations_compat1), 11);
}
void fuse_destroy(struct fuse *f)
@@ -1990,4 +1984,8 @@
free(f);
}
-__asm__(".symver _fuse_new_compat2,fuse_new@");
+__asm__(".symver fuse_exited,__fuse_exited@");
+__asm__(".symver fuse_process_cmd,__fuse_process_cmd@");
+__asm__(".symver fuse_read_cmd,__fuse_read_cmd@");
+__asm__(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@");
+__asm__(".symver fuse_new_compat2,fuse_new@");