file_systems/googlefs: Fix warnings and enable Werror
Part of #9460 Change-Id: I1dc3271b72886ede8db3c78e39b12de873c3e8bd Reviewed-on: https://review.haiku-os.org/c/haiku/+/4572 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This commit is contained in:
parent
9a594d0a60
commit
245e831213
@ -682,7 +682,7 @@ rule ArchitectureSetupWarnings architecture
|
|||||||
EnableWerror src add-ons kernel file_systems cdda ;
|
EnableWerror src add-ons kernel file_systems cdda ;
|
||||||
EnableWerror src add-ons kernel file_systems ext2 ;
|
EnableWerror src add-ons kernel file_systems ext2 ;
|
||||||
# EnableWerror src add-ons kernel file_systems fat ;
|
# EnableWerror src add-ons kernel file_systems fat ;
|
||||||
# EnableWerror src add-ons kernel file_systems googlefs ;
|
EnableWerror src add-ons kernel file_systems googlefs ;
|
||||||
EnableWerror src add-ons kernel file_systems iso9660 ;
|
EnableWerror src add-ons kernel file_systems iso9660 ;
|
||||||
EnableWerror src add-ons kernel file_systems layers ;
|
EnableWerror src add-ons kernel file_systems layers ;
|
||||||
# EnableWerror src add-ons kernel file_systems netfs ;
|
# EnableWerror src add-ons kernel file_systems netfs ;
|
||||||
|
@ -95,7 +95,7 @@ status_t google_request_process(struct google_request *req)
|
|||||||
goto err_cnx;
|
goto err_cnx;
|
||||||
sin.sin_port = htons(google_server_port);
|
sin.sin_port = htons(google_server_port);
|
||||||
err = http_connect(cnx, &sin);
|
err = http_connect(cnx, &sin);
|
||||||
dprintf("google_request: http_connect: error 0x%08lx\n", err);
|
dprintf("google_request: http_connect: error 0x%08" B_PRIx32 "\n", err);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_cnx;
|
goto err_cnx;
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ status_t google_request_process(struct google_request *req)
|
|||||||
dprintf("google_request: final URL: %s\n", url);
|
dprintf("google_request: final URL: %s\n", url);
|
||||||
|
|
||||||
err = http_get(cnx, url);
|
err = http_get(cnx, url);
|
||||||
dprintf("google_request: http_get: error 0x%08lx\n", err);
|
dprintf("google_request: http_get: error 0x%08" B_PRIx32 "\n", err);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto err_url2;
|
goto err_url2;
|
||||||
dprintf("google_request: http_get: HEADERS %ld:%s\n", cnx->headerslen, cnx->headers);
|
dprintf("google_request: http_get: HEADERS %ld:%s\n", cnx->headerslen, cnx->headers);
|
||||||
|
@ -88,7 +88,7 @@ static int googlefs_publish_static_entries(fs_volume *_volume)
|
|||||||
//char ename[GOOGLEFS_NAME_LEN];
|
//char ename[GOOGLEFS_NAME_LEN];
|
||||||
//char *p;
|
//char *p;
|
||||||
//int i;
|
//int i;
|
||||||
TRACE((PFS"googlefs_publish_static_entries(%ld)\n", ns->nsid));
|
TRACE((PFS"googlefs_publish_static_entries(%" B_PRId32 ")\n", ns->nsid));
|
||||||
if (!ns || !dir)
|
if (!ns || !dir)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ static int googlefs_publish_static_entries(fs_volume *_volume)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
err:
|
err:
|
||||||
TRACE((PFS"push_result_to_query: error 0x%08lx\n", err));
|
TRACE((PFS"push_result_to_query: error 0x%08"B_PRIx32"\n", err));
|
||||||
return err;
|
return err;
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
@ -124,7 +124,7 @@ static status_t googlefs_mount(fs_volume *_vol, const char *devname, uint32 flag
|
|||||||
fs_nspace *ns;
|
fs_nspace *ns;
|
||||||
fs_node *root;
|
fs_node *root;
|
||||||
int err;
|
int err;
|
||||||
TRACE((PFS "mount(%p, %s, 0x%08lx, %s, , )\n", _vol, devname, flags, parms));
|
TRACE((PFS "mount(%p, %s, 0x%08" B_PRIx32 ", %s, , )\n", _vol, devname, flags, parms));
|
||||||
|
|
||||||
/* only allow a single mount */
|
/* only allow a single mount */
|
||||||
if (atomic_add(&refcount, 1))
|
if (atomic_add(&refcount, 1))
|
||||||
@ -175,7 +175,7 @@ static status_t googlefs_mount(fs_volume *_vol, const char *devname, uint32 flag
|
|||||||
err = publish_vnode(_vol, *vnid, root, &sGoogleFSVnodeOps, S_IFDIR, 0);
|
err = publish_vnode(_vol, *vnid, root, &sGoogleFSVnodeOps, S_IFDIR, 0);
|
||||||
if (err == B_OK) {
|
if (err == B_OK) {
|
||||||
googlefs_publish_static_entries(_vol);
|
googlefs_publish_static_entries(_vol);
|
||||||
TRACE((PFS "mount() OK, nspace@ %p, id %ld, root@ %p, id %Ld\n", ns, ns->nsid, root, ns->rootid));
|
TRACE((PFS "mount() OK, nspace@ %p, id %" B_PRId32 ", root@ %p, id %" B_PRId64 "\n", ns, ns->nsid, root, ns->rootid));
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
free_lock(&root->l);
|
free_lock(&root->l);
|
||||||
@ -193,7 +193,7 @@ static status_t googlefs_unmount(fs_volume *_volume)
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
status_t err;
|
status_t err;
|
||||||
struct fs_node *node;
|
struct fs_node *node;
|
||||||
TRACE((PFS "unmount(%ld)\n", ns->nsid));
|
TRACE((PFS "unmount(%" B_PRId32 ")\n", ns->nsid));
|
||||||
err = LOCK(&ns->l);
|
err = LOCK(&ns->l);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -225,7 +225,7 @@ static int compare_fs_node_by_vnid(fs_node *node, ino_t *id)
|
|||||||
static int googlefs_free_vnode(fs_volume *_volume, fs_node *node)
|
static int googlefs_free_vnode(fs_volume *_volume, fs_node *node)
|
||||||
{
|
{
|
||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
TRACE((PFS "%s(%ld, %Ld)\n", __FUNCTION__, ns->nsid, node->vnid));
|
TRACE((PFS "%s(%" B_PRId32 ", %" B_PRId64 ")\n", __FUNCTION__, ns->nsid, node->vnid));
|
||||||
free_lock(&node->l);
|
free_lock(&node->l);
|
||||||
atomic_add(&ns->nodecount, -1);
|
atomic_add(&ns->nodecount, -1);
|
||||||
vnidpool_put(ns->vnids, node->vnid);
|
vnidpool_put(ns->vnids, node->vnid);
|
||||||
@ -241,7 +241,7 @@ static status_t googlefs_remove_vnode(fs_volume *_volume, fs_vnode *_node, bool
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
TRACE((PFS "%s(%ld, %Ld, %s)\n", __FUNCTION__, ns->nsid, node->vnid, reenter?"r":"!r"));
|
TRACE((PFS "%s(%" B_PRId32 ", %" B_PRId64 ", %s)\n", __FUNCTION__, ns->nsid, node->vnid, reenter?"r":"!r"));
|
||||||
if (!reenter)
|
if (!reenter)
|
||||||
err = LOCK(&ns->l);
|
err = LOCK(&ns->l);
|
||||||
if (err)
|
if (err)
|
||||||
@ -272,7 +272,7 @@ static status_t googlefs_read_vnode(fs_volume *_volume, ino_t vnid, fs_vnode *_n
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *n;
|
fs_node *n;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
TRACE((PFS "%s(%ld, %Ld, %s)\n", __FUNCTION__, _volume->id, vnid, reenter?"r":"!r"));
|
TRACE((PFS "%s(%" B_PRId32 ", %" B_PRId64 ", %s)\n", __FUNCTION__, _volume->id, vnid, reenter?"r":"!r"));
|
||||||
if (!reenter)
|
if (!reenter)
|
||||||
err = LOCK(&ns->l);
|
err = LOCK(&ns->l);
|
||||||
if (err)
|
if (err)
|
||||||
@ -294,7 +294,7 @@ static status_t googlefs_read_vnode(fs_volume *_volume, ino_t vnid, fs_vnode *_n
|
|||||||
static status_t googlefs_release_vnode(fs_volume *_volume, fs_vnode *_node, bool reenter)
|
static status_t googlefs_release_vnode(fs_volume *_volume, fs_vnode *_node, bool reenter)
|
||||||
{
|
{
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
TRACE((PFS "%s(%ld, %Ld, %s)\n", __FUNCTION__, _volume->id, node->vnid, reenter?"r":"!r"));
|
TRACE((PFS "%s(%" B_PRId32 ", %" B_PRId64 ", %s)\n", __FUNCTION__, _volume->id, node->vnid, reenter?"r":"!r"));
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -310,7 +310,7 @@ static status_t googlefs_get_vnode_name(fs_volume *_volume, fs_vnode *_node, cha
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
|
|
||||||
TRACE((PFS "get_vnode_name(%ld, %Ld, )\n", ns->nsid, (int64)(node?node->vnid:-1)));
|
TRACE((PFS "get_vnode_name(%" B_PRId32 ", %" B_PRId64 ", )\n", ns->nsid, (int64)(node?node->vnid:-1)));
|
||||||
strlcpy(buffer, node->name, MIN(GOOGLEFS_NAME_LEN, len));
|
strlcpy(buffer, node->name, MIN(GOOGLEFS_NAME_LEN, len));
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
@ -322,7 +322,7 @@ static status_t googlefs_walk(fs_volume *_volume, fs_vnode *_base, const char *f
|
|||||||
fs_node *base = _base->private_node;
|
fs_node *base = _base->private_node;
|
||||||
fs_node *n, *dummy;
|
fs_node *n, *dummy;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
TRACE((PFS "walk(%ld, %Ld, %s)\n", ns->nsid, (int64)(base?base->vnid:-1), file));
|
TRACE((PFS "walk(%" B_PRId32 ", %" B_PRId64 ", %s)\n", ns->nsid, (int64)(base?base->vnid:-1), file));
|
||||||
err = LOCK(&base->l);
|
err = LOCK(&base->l);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -355,7 +355,7 @@ static status_t googlefs_walk(fs_volume *_volume, fs_vnode *_base, const char *f
|
|||||||
err = EINVAL;
|
err = EINVAL;
|
||||||
}
|
}
|
||||||
UNLOCK(&base->l);
|
UNLOCK(&base->l);
|
||||||
TRACE((PFS "walk() -> error 0x%08lx\n", err));
|
TRACE((PFS "walk() -> error 0x%08" B_PRIx32 "\n", err));
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +365,7 @@ static status_t googlefs_opendir(fs_volume *_volume, fs_vnode *_node, void **coo
|
|||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
fs_dir_cookie *c;
|
fs_dir_cookie *c;
|
||||||
TRACE((PFS "opendir(%ld, %Ld)\n", ns->nsid, node->vnid));
|
TRACE((PFS "opendir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid));
|
||||||
if (!node)
|
if (!node)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
if (!S_ISDIR(node->st.st_mode))
|
if (!S_ISDIR(node->st.st_mode))
|
||||||
@ -397,7 +397,7 @@ static status_t googlefs_closedir(fs_volume *_volume, fs_vnode *_node, void *_co
|
|||||||
fs_dir_cookie *cookie = (fs_dir_cookie *)_cookie;
|
fs_dir_cookie *cookie = (fs_dir_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
// node = cookie->node; // work around VFS bug
|
// node = cookie->node; // work around VFS bug
|
||||||
TRACE((PFS "closedir(%ld, %Ld, %p)\n", ns->nsid, node->vnid, cookie));
|
TRACE((PFS "closedir(%" B_PRId32 ", %" B_PRId64 ", %p)\n", ns->nsid, node->vnid, cookie));
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -413,7 +413,7 @@ static status_t googlefs_rewinddir(fs_volume *_volume, fs_vnode *_node, void *_c
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_dir_cookie *cookie = (fs_dir_cookie *)_cookie;
|
fs_dir_cookie *cookie = (fs_dir_cookie *)_cookie;
|
||||||
TRACE((PFS "rewinddir(%ld, %Ld)\n", ns->nsid, node->vnid));
|
TRACE((PFS "rewinddir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid));
|
||||||
cookie->dir_current = 0;
|
cookie->dir_current = 0;
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
@ -423,14 +423,13 @@ static status_t googlefs_readdir(fs_volume *_volume, fs_vnode *_node, void *_coo
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_dir_cookie *cookie = (fs_dir_cookie *)_cookie;
|
fs_dir_cookie *cookie = (fs_dir_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
|
||||||
fs_node *n = NULL;
|
fs_node *n = NULL;
|
||||||
fs_node *parent = node->parent;
|
fs_node *parent = node->parent;
|
||||||
int index;
|
int index;
|
||||||
TRACE((PFS "readdir(%ld, %Ld) @ %d\n", ns->nsid, node->vnid, cookie->dir_current));
|
TRACE((PFS "readdir(%" B_PRId32 ", %" B_PRId64 ") @ %d\n", ns->nsid, node->vnid, cookie->dir_current));
|
||||||
if (!node || !cookie || !num || !*num || !buf || (bufsize < (sizeof(dirent_t)+GOOGLEFS_NAME_LEN)))
|
if (!node || !cookie || !num || !*num || !buf || (bufsize < (sizeof(dirent_t)+GOOGLEFS_NAME_LEN)))
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
err = LOCK(&node->l);
|
LOCK(&node->l);
|
||||||
if (cookie->dir_current == 0) { /* .. */
|
if (cookie->dir_current == 0) { /* .. */
|
||||||
TRACE((PFS "readdir: giving ..\n"));
|
TRACE((PFS "readdir: giving ..\n"));
|
||||||
/* the VFS will correct that anyway */
|
/* the VFS will correct that anyway */
|
||||||
@ -457,7 +456,7 @@ static status_t googlefs_readdir(fs_volume *_volume, fs_vnode *_node, void *_coo
|
|||||||
index = cookie->dir_current-2;
|
index = cookie->dir_current-2;
|
||||||
for (n = node->children; n && index; n = n->next, index--); //XXX: care about n->hidden || n->deleted
|
for (n = node->children; n && index; n = n->next, index--); //XXX: care about n->hidden || n->deleted
|
||||||
if (n) {
|
if (n) {
|
||||||
TRACE((PFS "readdir: giving ino %Ld, %s\n", n->vnid, n->name));
|
TRACE((PFS "readdir: giving ino %" B_PRId64 ", %s\n", n->vnid, n->name));
|
||||||
buf->d_dev = ns->nsid;
|
buf->d_dev = ns->nsid;
|
||||||
buf->d_pdev = ns->nsid;
|
buf->d_pdev = ns->nsid;
|
||||||
buf->d_ino = n->vnid;
|
buf->d_ino = n->vnid;
|
||||||
@ -481,7 +480,7 @@ static status_t googlefs_free_dircookie(fs_volume *_volume, fs_vnode *_node, voi
|
|||||||
fs_dir_cookie *cookie = (fs_dir_cookie *)_cookie;
|
fs_dir_cookie *cookie = (fs_dir_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
// node = cookie->node; // work around VFS bug
|
// node = cookie->node; // work around VFS bug
|
||||||
TRACE((PFS"freedircookie(%ld, %Ld, %p)\n", ns->nsid, node?node->vnid:0LL, cookie));
|
TRACE((PFS"freedircookie(%" B_PRId32 ", %" B_PRId64 ", %p)\n", ns->nsid, node?node->vnid:(int64)0, (void *)cookie));
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -536,7 +535,7 @@ static status_t googlefs_open(fs_volume *_volume, fs_vnode *_node, int omode, vo
|
|||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
//fs_node *dummy;
|
//fs_node *dummy;
|
||||||
fs_file_cookie *fc;
|
fs_file_cookie *fc;
|
||||||
TRACE((PFS"open(%ld, %Ld, 0x%x)\n", ns->nsid, node->vnid, omode));
|
TRACE((PFS"open(%" B_PRId32 ", %" B_PRId64 ", 0x%x)\n", ns->nsid, node->vnid, omode));
|
||||||
if (!node || !cookie)
|
if (!node || !cookie)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
|
|
||||||
@ -590,7 +589,7 @@ static status_t googlefs_close(fs_volume *_volume, fs_vnode *_node, void *_cooki
|
|||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
||||||
status_t err;
|
status_t err;
|
||||||
TRACE((PFS"close(%ld, %Ld)\n", ns->nsid, node->vnid));
|
TRACE((PFS"close(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid));
|
||||||
if (!ns || !node || !cookie)
|
if (!ns || !node || !cookie)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
@ -610,7 +609,7 @@ static status_t googlefs_free_cookie(fs_volume *_volume, fs_vnode *_node, void *
|
|||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
TRACE((PFS"freecookie(%ld, %Ld)\n", ns->nsid, node->vnid));
|
TRACE((PFS"freecookie(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid));
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -637,8 +636,8 @@ static status_t googlefs_read(fs_volume *_volume, fs_vnode *_node, void *_cookie
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
TRACE((PFS"read(%ld, %Ld, %Ld, %ld)\n", ns->nsid, node->vnid, pos, *len));
|
TRACE((PFS"read(%" B_PRId32 ", %" B_PRId64 ", %jd, %zu)\n", ns->nsid, node->vnid, pos, *len));
|
||||||
if (pos < 0 || pos > node->data_size)
|
if (pos < 0 || (size_t)pos > node->data_size)
|
||||||
err = EFPOS;
|
err = EFPOS;
|
||||||
if (err || node->data_size == 0 || !node->data) {
|
if (err || node->data_size == 0 || !node->data) {
|
||||||
*len = 0;
|
*len = 0;
|
||||||
@ -652,7 +651,7 @@ static status_t googlefs_read(fs_volume *_volume, fs_vnode *_node, void *_cookie
|
|||||||
static status_t googlefs_write(fs_volume *_volume, fs_vnode *_node, void *_cookie, off_t pos, const void *buf, size_t *len)
|
static status_t googlefs_write(fs_volume *_volume, fs_vnode *_node, void *_cookie, off_t pos, const void *buf, size_t *len)
|
||||||
{
|
{
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
TRACE((PFS"write(%ld, %Ld, %Ld, %ld)\n", _volume->id, node->vnid, pos, *len));
|
TRACE((PFS"write(%" B_PRId32 ", %" B_PRId64 ", %jd, %zu)\n", _volume->id, node->vnid, pos, *len));
|
||||||
*len = 0;
|
*len = 0;
|
||||||
return ENOSYS;
|
return ENOSYS;
|
||||||
}
|
}
|
||||||
@ -660,13 +659,13 @@ static status_t googlefs_write(fs_volume *_volume, fs_vnode *_node, void *_cooki
|
|||||||
static status_t googlefs_wstat(fs_volume *_volume, fs_vnode *_node, const struct stat *st, uint32 mask)
|
static status_t googlefs_wstat(fs_volume *_volume, fs_vnode *_node, const struct stat *st, uint32 mask)
|
||||||
{
|
{
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
TRACE((PFS"wstat(%ld, %Ld, , 0x%08lx)\n", _volume->id, node->vnid, mask));
|
TRACE((PFS"wstat(%" B_PRId32 ", %" B_PRId64 ", , 0x%08" B_PRIx32 ")\n", _volume->id, node->vnid, mask));
|
||||||
return ENOSYS;
|
return ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static status_t googlefs_wfsstat(fs_volume *_volume, const struct fs_info *info, uint32 mask)
|
static status_t googlefs_wfsstat(fs_volume *_volume, const struct fs_info *info, uint32 mask)
|
||||||
{
|
{
|
||||||
TRACE((PFS"wfsstat(%ld, , 0x%08lx)\n", _volume->id, mask));
|
TRACE((PFS"wfsstat(%" B_PRId32 ", , 0x%08" B_PRIx32 ")\n", _volume->id, mask));
|
||||||
return ENOSYS;
|
return ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -688,7 +687,7 @@ static int googlefs_create_gen(fs_volume *_volume, fs_node *dir, const char *nam
|
|||||||
status_t err;
|
status_t err;
|
||||||
fs_node *n;
|
fs_node *n;
|
||||||
int i;
|
int i;
|
||||||
TRACE((PFS"create_gen(%ld, %Ld, '%s', 0x%08x, %c, %c)\n", ns->nsid, dir->vnid, name, omode, mkdir?'t':'f', uniq?'t':'f'));
|
TRACE((PFS"create_gen(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x, %c, %c)\n", ns->nsid, dir->vnid, name, omode, mkdir?'t':'f', uniq?'t':'f'));
|
||||||
|
|
||||||
if (strlen(name) > GOOGLEFS_NAME_LEN-1)
|
if (strlen(name) > GOOGLEFS_NAME_LEN-1)
|
||||||
return ENAMETOOLONG;
|
return ENAMETOOLONG;
|
||||||
@ -791,7 +790,7 @@ static status_t googlefs_create(fs_volume *_volume, fs_vnode *_dir, const char *
|
|||||||
status_t err;
|
status_t err;
|
||||||
fs_node *n;
|
fs_node *n;
|
||||||
struct fs_vnode child = { NULL, &sGoogleFSVnodeOps };
|
struct fs_vnode child = { NULL, &sGoogleFSVnodeOps };
|
||||||
TRACE((PFS"create(%ld, %Ld, '%s', 0x%08x)\n", ns->nsid, dir->vnid, name, omode));
|
TRACE((PFS"create(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x)\n", ns->nsid, dir->vnid, name, omode));
|
||||||
/* don't let ppl mess our fs up */
|
/* don't let ppl mess our fs up */
|
||||||
return ENOSYS;
|
return ENOSYS;
|
||||||
|
|
||||||
@ -809,8 +808,8 @@ static int googlefs_unlink_gen(fs_volume *_volume, fs_node *dir, const char *nam
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
status_t err;
|
status_t err;
|
||||||
fs_node *n;
|
fs_node *n;
|
||||||
TRACE((PFS"unlink(%ld, %Ld, %s)\n", ns->nsid, dir->vnid, name));
|
TRACE((PFS"unlink(%" B_PRId32 ", %" B_PRId64 ", %s)\n", ns->nsid, dir->vnid, name));
|
||||||
//dprintf(PFS"unlink(%ld, %Ld, %s)\n", ns->nsid, dir->vnid, name);
|
//dprintf(PFS"unlink(%" B_PRId32 ", %" B_PRId64 ", %s)\n", ns->nsid, dir->vnid, name);
|
||||||
err = LOCK(&dir->l);
|
err = LOCK(&dir->l);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -850,7 +849,7 @@ static status_t googlefs_rmdir(fs_volume *_volume, fs_vnode *_dir, const char *n
|
|||||||
{
|
{
|
||||||
//fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
//fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *dir = (fs_node *)_dir->private_node;
|
fs_node *dir = (fs_node *)_dir->private_node;
|
||||||
TRACE((PFS"rmdir(%ld, %Ld, %s)\n", _volume->id, dir->vnid, name));
|
TRACE((PFS"rmdir(%" B_PRId32 ", %" B_PRId64 ", %s)\n", _volume->id, dir->vnid, name));
|
||||||
return googlefs_unlink(_volume, _dir, name);
|
return googlefs_unlink(_volume, _dir, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -859,7 +858,7 @@ static int googlefs_unlink_node_rec(fs_volume *_volume, fs_node *node)
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
status_t err;
|
status_t err;
|
||||||
fs_node *n;
|
fs_node *n;
|
||||||
TRACE((PFS"googlefs_unlink_node_rec(%ld, %Ld:%s)\n", ns->nsid, node->vnid, node->name));
|
TRACE((PFS"googlefs_unlink_node_rec(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid, node->name));
|
||||||
if (!ns || !node)
|
if (!ns || !node)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
// kill_request();
|
// kill_request();
|
||||||
@ -881,7 +880,7 @@ static status_t googlefs_access(fs_volume *_volume, fs_vnode *_node, int mode)
|
|||||||
{
|
{
|
||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
TRACE((PFS"access(%ld, %Ld, 0x%x)\n", ns->nsid, node->vnid, mode));
|
TRACE((PFS"access(%" B_PRId32 ", %" B_PRId64 ", 0x%x)\n", ns->nsid, node->vnid, mode));
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -896,11 +895,12 @@ static int googlefs_setflags(fs_volume *_volume, fs_vnode *_node, fs_file_cookie
|
|||||||
static int googlefs_mkdir_gen(fs_volume *_volume, fs_vnode *_dir, const char *name, int perms, fs_node **node, bool uniq)
|
static int googlefs_mkdir_gen(fs_volume *_volume, fs_vnode *_dir, const char *name, int perms, fs_node **node, bool uniq)
|
||||||
{
|
{
|
||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
|
fs_node *dir = (fs_node *)_dir->private_node;
|
||||||
char newname[GOOGLEFS_NAME_LEN];
|
char newname[GOOGLEFS_NAME_LEN];
|
||||||
status_t err;
|
status_t err;
|
||||||
fs_node *n;
|
fs_node *n;
|
||||||
int i;
|
int i;
|
||||||
TRACE((PFS"mkdir_gen(%ld, %Ld, '%s', 0x%08lx, %c)\n", ns->nsid, dir->vnid, name, perms, uniq?'t':'f'));
|
TRACE((PFS"mkdir_gen(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x, %c)\n", ns->nsid, dir->vnid, name, perms, uniq?'t':'f'));
|
||||||
|
|
||||||
if (strlen(name) > GOOGLEFS_NAME_LEN-1)
|
if (strlen(name) > GOOGLEFS_NAME_LEN-1)
|
||||||
return ENAMETOOLONG;
|
return ENAMETOOLONG;
|
||||||
@ -940,9 +940,7 @@ static int googlefs_mkdir_gen(fs_volume *_volume, fs_vnode *_dir, const char *na
|
|||||||
strcpy(n->name, name);
|
strcpy(n->name, name);
|
||||||
//n->is_perm = 1;
|
//n->is_perm = 1;
|
||||||
fill_default_stat(&n->st, ns->nsid, n->vnid, (perms & ~S_IFMT) | S_IFDIR);
|
fill_default_stat(&n->st, ns->nsid, n->vnid, (perms & ~S_IFMT) | S_IFDIR);
|
||||||
err = new_lock(&(n->l), "googlefs dir");
|
new_lock(&(n->l), "googlefs dir");
|
||||||
if (err)
|
|
||||||
goto err_m;
|
|
||||||
err = LOCK(&ns->l);
|
err = LOCK(&ns->l);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_nl;
|
goto err_nl;
|
||||||
@ -987,7 +985,7 @@ static status_t googlefs_mkdir(fs_volume *_volume, fs_vnode *_dir, const char *n
|
|||||||
{
|
{
|
||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *dir = (fs_node *)_dir->private_node;
|
fs_node *dir = (fs_node *)_dir->private_node;
|
||||||
TRACE((PFS"mkdir(%ld, %Ld, '%s', 0x%08x)\n", ns->nsid, dir->vnid, name, perms));
|
TRACE((PFS"mkdir(%" B_PRId32 ", %" B_PRId64 ", '%s', 0x%08x)\n", ns->nsid, dir->vnid, name, perms));
|
||||||
return googlefs_create_gen(_volume, dir, name, O_EXCL, perms, NULL, NULL, folders_attrs, true, false);
|
return googlefs_create_gen(_volume, dir, name, O_EXCL, perms, NULL, NULL, folders_attrs, true, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -999,7 +997,7 @@ static status_t googlefs_open_attrdir(fs_volume *_volume, fs_vnode *_node, void
|
|||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
fs_attr_dir_cookie *c;
|
fs_attr_dir_cookie *c;
|
||||||
TRACE((PFS "open_attrdir(%ld, %Ld)\n", ns->nsid, node->vnid));
|
TRACE((PFS "open_attrdir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid));
|
||||||
if (!node)
|
if (!node)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
@ -1028,7 +1026,7 @@ static status_t googlefs_close_attrdir(fs_volume *_volume, fs_vnode *_node, void
|
|||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_attr_dir_cookie *cookie = (fs_attr_dir_cookie *)_cookie;
|
fs_attr_dir_cookie *cookie = (fs_attr_dir_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
TRACE((PFS "close_attrdir(%ld, %Ld)\n", ns->nsid, node->vnid));
|
TRACE((PFS "close_attrdir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid));
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -1043,7 +1041,7 @@ static status_t googlefs_free_attrdircookie(fs_volume *_volume, fs_vnode *_node,
|
|||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_attr_dir_cookie *cookie = (fs_attr_dir_cookie *)_cookie;
|
fs_attr_dir_cookie *cookie = (fs_attr_dir_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
TRACE((PFS"free_attrdircookie(%ld, %Ld)\n", ns->nsid, node->vnid));
|
TRACE((PFS"free_attrdircookie(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid));
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -1058,7 +1056,7 @@ static status_t googlefs_rewind_attrdir(fs_volume *_volume, fs_vnode *_node, voi
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_attr_dir_cookie *cookie = (fs_attr_dir_cookie *)_cookie;
|
fs_attr_dir_cookie *cookie = (fs_attr_dir_cookie *)_cookie;
|
||||||
TRACE((PFS "rewind_attrdir(%ld, %Ld)\n", ns->nsid, node->vnid));
|
TRACE((PFS "rewind_attrdir(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, node->vnid));
|
||||||
cookie->dir_current = 0;
|
cookie->dir_current = 0;
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
@ -1068,16 +1066,15 @@ static status_t googlefs_read_attrdir(fs_volume *_volume, fs_vnode *_node, void
|
|||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
|
||||||
//fs_node *n = NULL;
|
//fs_node *n = NULL;
|
||||||
//fs_node *parent = node->parent;
|
//fs_node *parent = node->parent;
|
||||||
attr_entry *ae = NULL;
|
attr_entry *ae = NULL;
|
||||||
int i;
|
int i;
|
||||||
int count_indirect;
|
int count_indirect;
|
||||||
TRACE((PFS "read_attrdir(%ld, %Ld) @ %d\n", ns->nsid, node->vnid, cookie->dir_current));
|
TRACE((PFS "read_attrdir(%" B_PRId32 ", %" B_PRId64 ") @ %d\n", ns->nsid, node->vnid, cookie->dir_current));
|
||||||
if (!node || !cookie || !num || !*num || !buf || (bufsize < (sizeof(dirent_t)+GOOGLEFS_NAME_LEN)))
|
if (!node || !cookie || !num || !*num || !buf || (bufsize < (sizeof(dirent_t)+GOOGLEFS_NAME_LEN)))
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
err = LOCK(&node->l);
|
LOCK(&node->l);
|
||||||
for (i = 0, count_indirect = 0; node->attrs_indirect && !ae && node->attrs_indirect[i].name; i++, count_indirect++)
|
for (i = 0, count_indirect = 0; node->attrs_indirect && !ae && node->attrs_indirect[i].name; i++, count_indirect++)
|
||||||
if (i == cookie->dir_current)
|
if (i == cookie->dir_current)
|
||||||
ae = &node->attrs_indirect[i];
|
ae = &node->attrs_indirect[i];
|
||||||
@ -1119,7 +1116,7 @@ static status_t googlefs_open_attr_h(fs_volume *_volume, fs_vnode *_node, const
|
|||||||
fs_file_cookie *fc;
|
fs_file_cookie *fc;
|
||||||
attr_entry *ae = NULL;
|
attr_entry *ae = NULL;
|
||||||
int i;
|
int i;
|
||||||
TRACE((PFS"open_attr(%ld, %Ld, %s, 0x%x)\n", ns->nsid, node->vnid, name, omode));
|
TRACE((PFS"open_attr(%" B_PRId32 ", %" B_PRId64 ", %s, 0x%x)\n", ns->nsid, node->vnid, name, omode));
|
||||||
if (!node || !name || !cookie)
|
if (!node || !name || !cookie)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
|
|
||||||
@ -1177,7 +1174,7 @@ static status_t googlefs_close_attr_h(fs_volume *_volume, fs_vnode *_node, void
|
|||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
||||||
status_t err;
|
status_t err;
|
||||||
TRACE((PFS"close_attr(%ld, %Ld:%s)\n", ns->nsid, node->vnid, cookie->attr?cookie->attr->name:"?"));
|
TRACE((PFS"close_attr(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid, cookie->attr?cookie->attr->name:"?"));
|
||||||
if (!ns || !node || !cookie)
|
if (!ns || !node || !cookie)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
@ -1197,7 +1194,7 @@ static status_t googlefs_free_attr_cookie_h(fs_volume *_volume, fs_vnode *_node,
|
|||||||
fs_node *node = (fs_node *)_node->private_node;
|
fs_node *node = (fs_node *)_node->private_node;
|
||||||
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
TRACE((PFS"free_attrcookie(%ld, %Ld:%s)\n", ns->nsid, node->vnid, cookie->attr?cookie->attr->name:"?"));
|
TRACE((PFS"free_attrcookie(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid, cookie->attr?cookie->attr->name:"?"));
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -1218,7 +1215,7 @@ static status_t googlefs_read_attr_stat(fs_volume *_volume, fs_vnode *_node, voi
|
|||||||
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
attr_entry *ae = cookie->attr;
|
attr_entry *ae = cookie->attr;
|
||||||
TRACE((PFS"stat_attr(%ld, %Ld:%s)\n", ns->nsid, node->vnid, ae->name));
|
TRACE((PFS"stat_attr(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid, ae->name));
|
||||||
if (!node || !st || !cookie || !cookie->attr)
|
if (!node || !st || !cookie || !cookie->attr)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
memcpy(st, &node->st, sizeof(struct stat));
|
memcpy(st, &node->st, sizeof(struct stat));
|
||||||
@ -1235,13 +1232,13 @@ static status_t googlefs_read_attr(fs_volume *_volume, fs_vnode *_node, void *_c
|
|||||||
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
fs_file_cookie *cookie = (fs_file_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
attr_entry *ae = cookie->attr;
|
attr_entry *ae = cookie->attr;
|
||||||
TRACE((PFS"read_attr(%ld, %Ld:%s)\n", ns->nsid, node->vnid, ae->name));
|
TRACE((PFS"read_attr(%" B_PRId32 ", %" B_PRId64 ":%s)\n", ns->nsid, node->vnid, ae->name));
|
||||||
if (!node || !cookie || !len || !*len)
|
if (!node || !cookie || !len || !*len)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
|
|
||||||
err = LOCK(&node->l);
|
err = LOCK(&node->l);
|
||||||
|
|
||||||
if (ae && pos < ae->size) {
|
if (ae && (pos < 0 || (size_t)pos < ae->size)) {
|
||||||
memcpy(buf, (char *)ae->value + pos, MIN(*len, ae->size-pos));
|
memcpy(buf, (char *)ae->value + pos, MIN(*len, ae->size-pos));
|
||||||
*len = MIN(*len, ae->size-pos);
|
*len = MIN(*len, ae->size-pos);
|
||||||
err = B_OK;
|
err = B_OK;
|
||||||
@ -1285,7 +1282,7 @@ static status_t googlefs_open_query(fs_volume *_volume, const char *query, uint3
|
|||||||
bool accepted = true;
|
bool accepted = true;
|
||||||
bool reused = false;
|
bool reused = false;
|
||||||
//int i;
|
//int i;
|
||||||
TRACE((PFS"open_query(%ld, '%s', 0x%08lx, %ld, %ld)\n", ns->nsid, query, flags, port, token));
|
TRACE((PFS"open_query(%" B_PRId32 ", '%s', 0x%08" B_PRIx32 ", %" B_PRId32 ", %" B_PRId32 ")\n", ns->nsid, query, flags, port, token));
|
||||||
// if (flags & B_LIVE_QUERY)
|
// if (flags & B_LIVE_QUERY)
|
||||||
// return ENOSYS; /* no live query yet, they are live enough anyway */
|
// return ENOSYS; /* no live query yet, they are live enough anyway */
|
||||||
//return ENOSYS;
|
//return ENOSYS;
|
||||||
@ -1338,7 +1335,7 @@ static status_t googlefs_open_query(fs_volume *_volume, const char *query, uint3
|
|||||||
UNLOCK(&ns->l);
|
UNLOCK(&ns->l);
|
||||||
reused = (qn != NULL);
|
reused = (qn != NULL);
|
||||||
if (reused) {
|
if (reused) {
|
||||||
TRACE((PFS"open_query: reusing %ld:%Ld\n", ns->nsid, qn->vnid));
|
TRACE((PFS"open_query: reusing %" B_PRId32 ":%" B_PRId64 "\n", ns->nsid, qn->vnid));
|
||||||
err = get_vnode(_volume, qn->vnid, (void **)&dummy); /* inc ref count */
|
err = get_vnode(_volume, qn->vnid, (void **)&dummy); /* inc ref count */
|
||||||
if (err)
|
if (err)
|
||||||
goto err_mkdir;
|
goto err_mkdir;
|
||||||
@ -1425,7 +1422,7 @@ err_qs:
|
|||||||
free(qstring);
|
free(qstring);
|
||||||
//err_m:
|
//err_m:
|
||||||
free(c);
|
free(c);
|
||||||
TRACE((PFS"open_query: error 0x%08lx\n", err));
|
TRACE((PFS"open_query: error 0x%08" B_PRIx32 "\n", err));
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1435,7 +1432,7 @@ static status_t googlefs_close_query(fs_volume *_volume, void *_cookie)
|
|||||||
fs_query_cookie *cookie = (fs_query_cookie *)_cookie;
|
fs_query_cookie *cookie = (fs_query_cookie *)_cookie;
|
||||||
status_t err;
|
status_t err;
|
||||||
fs_node *q;
|
fs_node *q;
|
||||||
TRACE((PFS"close_query(%ld, %Ld)\n", ns->nsid, cookie->node?cookie->node->vnid:0LL));
|
TRACE((PFS"close_query(%" B_PRId32 ", %" B_PRId64 ")\n", ns->nsid, cookie->node?cookie->node->vnid:(int64)0));
|
||||||
//return ENOSYS;
|
//return ENOSYS;
|
||||||
q = cookie->node;
|
q = cookie->node;
|
||||||
if (!q)
|
if (!q)
|
||||||
@ -1461,7 +1458,7 @@ static status_t googlefs_free_query_cookie(fs_volume *_volume, void *_cookie)
|
|||||||
fs_query_cookie *cookie = (fs_query_cookie *)_cookie;
|
fs_query_cookie *cookie = (fs_query_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
status_t err = B_OK;
|
||||||
fs_node *q;
|
fs_node *q;
|
||||||
TRACE((PFS"free_query_cookie(%ld)\n", _volume->id));
|
TRACE((PFS"free_query_cookie(%" B_PRId32 ")\n", _volume->id));
|
||||||
q = cookie->node;
|
q = cookie->node;
|
||||||
if (!q)
|
if (!q)
|
||||||
goto no_node;
|
goto no_node;
|
||||||
@ -1485,11 +1482,10 @@ static status_t googlefs_read_query(fs_volume *_volume, void *_cookie, struct di
|
|||||||
{
|
{
|
||||||
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
fs_nspace *ns = (fs_nspace *)_volume->private_volume;
|
||||||
fs_query_cookie *cookie = (fs_query_cookie *)_cookie;
|
fs_query_cookie *cookie = (fs_query_cookie *)_cookie;
|
||||||
status_t err = B_OK;
|
|
||||||
fs_node *n = NULL;
|
fs_node *n = NULL;
|
||||||
fs_node *node = cookie->node;
|
fs_node *node = cookie->node;
|
||||||
int index;
|
int index;
|
||||||
TRACE((PFS"read_query(%ld, %Ld) @ %d\n", ns->nsid, node?node->vnid:0LL, cookie->dir_current));
|
TRACE((PFS"read_query(%" B_PRId32 ", %" B_PRId64 ") @ %d\n", ns->nsid, node?node->vnid:(int64)0, cookie->dir_current));
|
||||||
if (!cookie || !num || !*num || !buf || (bufsize < (sizeof(dirent_t)+GOOGLEFS_NAME_LEN)))
|
if (!cookie || !num || !*num || !buf || (bufsize < (sizeof(dirent_t)+GOOGLEFS_NAME_LEN)))
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
if (!node) {
|
if (!node) {
|
||||||
@ -1498,11 +1494,11 @@ static status_t googlefs_read_query(fs_volume *_volume, void *_cookie, struct di
|
|||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
//return ENOSYS;
|
//return ENOSYS;
|
||||||
err = LOCK(&node->l);
|
LOCK(&node->l);
|
||||||
index = cookie->dir_current;
|
index = cookie->dir_current;
|
||||||
for (n = node->children; n && index; n = n->next, index--);
|
for (n = node->children; n && index; n = n->next, index--);
|
||||||
if (n) {
|
if (n) {
|
||||||
TRACE((PFS "read_query: giving ino %Ld, %s\n", n->vnid, n->name));
|
TRACE((PFS "read_query: giving ino %" PRId64 ", %s\n", n->vnid, n->name));
|
||||||
buf->d_dev = ns->nsid;
|
buf->d_dev = ns->nsid;
|
||||||
buf->d_pdev = ns->nsid;
|
buf->d_pdev = ns->nsid;
|
||||||
buf->d_ino = n->vnid;
|
buf->d_ino = n->vnid;
|
||||||
@ -1528,8 +1524,8 @@ int googlefs_push_result_to_query(struct google_request *request, struct google_
|
|||||||
char ename[GOOGLEFS_NAME_LEN];
|
char ename[GOOGLEFS_NAME_LEN];
|
||||||
char *p;
|
char *p;
|
||||||
int i;
|
int i;
|
||||||
TRACE((PFS"push_result_to_query(%ld, %Ld, %ld:'%s')\n", ns->nsid, qn->vnid, result->id, result->name));
|
TRACE((PFS"push_result_to_query(%" B_PRId32 ", %" B_PRId64 ", %ld:'%s')\n", ns->nsid, qn->vnid, result->id, result->name));
|
||||||
//dprintf(PFS"push_result_to_query(%ld, %Ld, %d:'%s')\n", ns->nsid, qn->vnid, result->id, result->name);
|
//dprintf(PFS"push_result_to_query(%" B_PRId32 ", %" B_PRId64 ", %ld:'%s')\n", ns->nsid, qn->vnid, result->id, result->name);
|
||||||
//return ENOSYS;
|
//return ENOSYS;
|
||||||
if (!ns || !qn)
|
if (!ns || !qn)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
@ -1601,7 +1597,7 @@ int googlefs_push_result_to_query(struct google_request *request, struct google_
|
|||||||
UNLOCK(&n->l);
|
UNLOCK(&n->l);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
|
|
||||||
TRACE((PFS"push_result_to_query: error 0x%08lx\n", err));
|
TRACE((PFS "push_result_to_query: error 0x%08" B_PRIx32 "\n", err));
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ status_t http_connect(struct http_cnx *cnx, struct sockaddr_in *sin)
|
|||||||
}
|
}
|
||||||
ip = sin->sin_addr.s_addr;
|
ip = sin->sin_addr.s_addr;
|
||||||
port = sin->sin_port;
|
port = sin->sin_port;
|
||||||
dprintf("http_connect(, %ld.%ld.%ld.%ld:%d), sock = %d\n", ip & 0xff, (ip >> 8) & 0xff, (ip >> 16) & 0xff, (ip >> 24) & 0xff, ntohs(port), cnx->sock);
|
dprintf("http_connect(, %"B_PRId32".%"B_PRId32".%" B_PRId32 ".%" B_PRId32 ":%d), sock = %d\n", ip & 0xff, (ip >> 8) & 0xff, (ip >> 16) & 0xff, (ip >> 24) & 0xff, ntohs(port), cnx->sock);
|
||||||
err = kconnect(cnx->sock, (struct sockaddr *)sin, sin->sin_len);
|
err = kconnect(cnx->sock, (struct sockaddr *)sin, sin->sin_len);
|
||||||
cnx->err = 0;
|
cnx->err = 0;
|
||||||
if (err == -1)
|
if (err == -1)
|
||||||
@ -182,7 +182,7 @@ status_t http_get(struct http_cnx *cnx, const char *url)
|
|||||||
cnx->err = strtol(p, &p, 10);
|
cnx->err = strtol(p, &p, 10);
|
||||||
if (cnx->err < 200 || cnx->err > 299)
|
if (cnx->err < 200 || cnx->err > 299)
|
||||||
goto err0;
|
goto err0;
|
||||||
printf("REQ: %ld\n", cnx->err);
|
printf("REQ: %" B_PRId32 "\n", cnx->err);
|
||||||
contentlen = len - headerslen;
|
contentlen = len - headerslen;
|
||||||
// if (!strstr(req, "\n\n") && !strstr(req, "\r\n\r\n"))
|
// if (!strstr(req, "\n\n") && !strstr(req, "\r\n\r\n"))
|
||||||
// goto err0;
|
// goto err0;
|
||||||
|
@ -19,19 +19,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
// ('foo'<>"bar\"")&&!(()||())
|
// ('foo'<>"bar\"")&&!(()||())
|
||||||
|
|
||||||
static void free_query_tree(query_exp *tree)
|
|
||||||
{
|
|
||||||
if (!tree)
|
|
||||||
return;
|
|
||||||
if (tree->op >= B_AND) {
|
|
||||||
free_query_tree(tree->lv.exp);
|
|
||||||
free_query_tree(tree->rv.exp);
|
|
||||||
}
|
|
||||||
free(tree->lv.str);
|
|
||||||
free(tree->rv.str);
|
|
||||||
free(tree);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *query_unescape_string(const char *q, const char **newq, char delim)
|
char *query_unescape_string(const char *q, const char **newq, char delim)
|
||||||
{
|
{
|
||||||
int backslash = 0;
|
int backslash = 0;
|
||||||
|
@ -48,8 +48,8 @@ status_t load_settings(void)
|
|||||||
sync_unlink_queries = get_driver_boolean_parameter(handle, "sync_unlink", false, true);
|
sync_unlink_queries = get_driver_boolean_parameter(handle, "sync_unlink", false, true);
|
||||||
|
|
||||||
dprintf("googlefs: settings: server = %s\n", google_server);
|
dprintf("googlefs: settings: server = %s\n", google_server);
|
||||||
dprintf("googlefs: settings: max_nodes = %lu\n", max_vnodes);
|
dprintf("googlefs: settings: max_nodes = %" B_PRIu32 "\n", max_vnodes);
|
||||||
dprintf("googlefs: settings: max_results = %lu\n", max_results);
|
dprintf("googlefs: settings: max_results = %" B_PRIu32 " \n", max_results);
|
||||||
dprintf("googlefs: settings: sync_unlink = %c\n", sync_unlink_queries?'t':'f');
|
dprintf("googlefs: settings: sync_unlink = %c\n", sync_unlink_queries?'t':'f');
|
||||||
unload_driver_settings(handle);
|
unload_driver_settings(handle);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
|
Loading…
Reference in New Issue
Block a user