diff options
| author | Raghavendra G <raghavendra@zresearch.com> | 2009-04-22 07:32:30 -0700 | 
|---|---|---|
| committer | Anand V. Avati <avati@amp.gluster.com> | 2009-04-23 10:41:56 +0530 | 
| commit | 7a77bad6d583ee9266e6e3f566bf19d579177e3e (patch) | |
| tree | 84f9e506970ced8f4a9d300cf56c8ed542c71309 /mod_glusterfs | |
| parent | e26b63ccfc3aa0b29afb7235b863b7b4a7c8ae95 (diff) | |
mod_glusterfs: port apache/1.3/mod_glusterfs to use virtual mount points
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
Diffstat (limited to 'mod_glusterfs')
| -rw-r--r-- | mod_glusterfs/apache/1.3/src/mod_glusterfs.c | 27 | 
1 files changed, 8 insertions, 19 deletions
diff --git a/mod_glusterfs/apache/1.3/src/mod_glusterfs.c b/mod_glusterfs/apache/1.3/src/mod_glusterfs.c index 5970336c9f2..03026eac8e6 100644 --- a/mod_glusterfs/apache/1.3/src/mod_glusterfs.c +++ b/mod_glusterfs/apache/1.3/src/mod_glusterfs.c @@ -52,7 +52,6 @@ typedef struct glusterfs_dir_config {          char *buf;          size_t xattr_file_size;          uint32_t cache_timeout; -        glusterfs_handle_t handle;  } glusterfs_dir_config_t;  typedef struct glusterfs_async_local { @@ -144,7 +143,6 @@ mod_glusterfs_create_dir_config(pool *p, char *dirspec)          dir_config->mount_dir = dirspec;          dir_config->logfile = dir_config->specfile = (char *)0;          dir_config->loglevel = "warning"; -        dir_config->handle = (glusterfs_handle_t) 0;          dir_config->cache_timeout = 0;          dir_config->buf = NULL; @@ -175,7 +173,7 @@ mod_glusterfs_child_init(server_rec *s, pool *p)                          params.stat_timeout = dir_config->cache_timeout;                          params.specfile = dir_config->specfile; -                        dir_config->handle = glusterfs_init (¶ms); +                        glusterfs_mount (dir_config->mount_dir, ¶ms);                  }                  dir_config = NULL;          } @@ -194,11 +192,9 @@ mod_glusterfs_child_exit(server_rec *s, pool *p)          urls = (void **)mod_core_config->sec_url->elts;          for (i = 0; i < n; i++) {                  dir_config = ap_get_module_config (urls[i], &glusterfs_module); -                if (dir_config && dir_config->handle) { -                        glusterfs_fini (dir_config->handle); -                        dir_config->handle = 0; +                if (dir_config) { +                        glusterfs_umount (dir_config->mount_dir);                  } -                dir_config = NULL;          }  } @@ -222,8 +218,7 @@ static int mod_glusterfs_fixup(request_rec *r)                                                    GLUSTERFS_HANDLER)))                  return DECLINED; -        if (dir_config->mount_dir) -                path = r->uri + strlen (dir_config->mount_dir); +        path = r->uri;          memset (&r->finfo, 0, sizeof (r->finfo)); @@ -232,7 +227,7 @@ static int mod_glusterfs_fixup(request_rec *r)                  return HTTP_INTERNAL_SERVER_ERROR;          } -        ret = glusterfs_get (dir_config->handle, path, dir_config->buf,  +        ret = glusterfs_get (path, dir_config->buf,                                dir_config->xattr_file_size, &r->finfo);          if (ret == -1 || r->finfo.st_size > dir_config->xattr_file_size @@ -387,12 +382,6 @@ mod_glusterfs_handler(request_rec *r)                  return METHOD_NOT_ALLOWED;          } -        if (!dir_config->handle) { -                ap_log_rerror (APLOG_MARK, APLOG_ERR, r, -                               "glusterfs initialization failed\n"); -                return FORBIDDEN; -        } -          ap_update_mtime(r, r->finfo.st_mtime);          ap_set_last_modified(r);          ap_set_etag(r); @@ -434,8 +423,8 @@ mod_glusterfs_handler(request_rec *r)                  return error;          } -        path = r->uri + strlen (dir_config->mount_dir); -        fd = glusterfs_open (dir_config->handle, path , O_RDONLY, 0); +        path = r->uri; +        fd = glusterfs_open (path , O_RDONLY, 0);          if (fd == 0) {                  ap_log_rerror(APLOG_MARK, APLOG_ERR, r, @@ -475,7 +464,7 @@ static const command_rec mod_glusterfs_cmds[] =           "Glusterfs Specfile required to access contents of this directory"},          {"GlusterfsXattrFileSize", add_xattr_file_size, NULL,            GLUSTERFS_CMD_PERMS, TAKE1, -         "Maximum size of the file to be fetched using xattr interface of "\  +         "Maximum size of the file to be fetched using xattr interface of "           "glusterfs"},          {NULL}  };  | 
