diff options
| author | Raghavendra G <raghavendra@gluster.com> | 2012-03-30 10:04:45 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2012-04-02 02:38:24 -0700 | 
| commit | 0f3b55be4376c1c59131d999469d3b3c6aaddd87 (patch) | |
| tree | 628c5f71c5391403ebaa48a1e56a830d89739016 | |
| parent | 67450da471307d1c09bd21694a76fb12b2fcd405 (diff) | |
performance/quick-read: open shouldn't be worried about checking
whether it is being done on a deleted dentry.
lookup would've taken care of sending ENOENT, in case the entry
was already deleted.
Change-Id: I79c51e34ae3a202eb04123a2a58d0e819b6e94fa
BUG: 808017
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Reviewed-on: http://review.gluster.com/3044
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
| -rw-r--r-- | xlators/performance/quick-read/src/quick-read.c | 65 | ||||
| -rw-r--r-- | xlators/performance/quick-read/src/quick-read.h | 8 | 
2 files changed, 0 insertions, 73 deletions
diff --git a/xlators/performance/quick-read/src/quick-read.c b/xlators/performance/quick-read/src/quick-read.c index dfe13997afa..6476ec5f5a8 100644 --- a/xlators/performance/quick-read/src/quick-read.c +++ b/xlators/performance/quick-read/src/quick-read.c @@ -241,7 +241,6 @@ __qr_inode_alloc (xlator_t *this, char *path, inode_t *inode)          }          INIT_LIST_HEAD (&qr_inode->lru); -        INIT_LIST_HEAD (&qr_inode->unlinked_dentries);          INIT_LIST_HEAD (&qr_inode->fd_list);          priority = qr_get_priority (&priv->conf, path); @@ -259,7 +258,6 @@ out:  void  __qr_inode_free (qr_inode_t *qr_inode)  { -        qr_dentry_t *dentry = NULL, *tmp_dentry = NULL;          qr_fd_ctx_t *fdctx  = NULL, *tmp_fdctx  = NULL;          GF_VALIDATE_OR_GOTO ("quick-read", qr_inode, out); @@ -272,14 +270,6 @@ __qr_inode_free (qr_inode_t *qr_inode)          LOCK (&qr_inode->inode->lock);          { -                list_for_each_entry_safe (dentry, tmp_dentry, -                                          &qr_inode->unlinked_dentries, -                                          unlink_list) { -                        list_del_init (&dentry->unlink_list); -                        GF_FREE (dentry->name); -                        mem_put (dentry); -                } -                  list_for_each_entry_safe (fdctx, tmp_fdctx, &qr_inode->fd_list,                                            inode_list) {                          list_del_init (&fdctx->inode_list); @@ -690,7 +680,6 @@ qr_open (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags,          qr_local_t       *local          = NULL;          qr_private_t     *priv           = NULL;          qr_inode_table_t *table          = NULL; -        qr_dentry_t      *dentry         = NULL;          GF_ASSERT (frame);          GF_VALIDATE_OR_GOTO (frame->this->name, this, unwind); @@ -791,22 +780,9 @@ qr_open (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags,                  LOCK (&fd->inode->lock);                  { -                        list_for_each_entry (dentry, -                                             &qr_inode->unlinked_dentries, -                                             unlink_list) { -                                if ((strcmp (dentry->name, loc->name) == 0) -                                    && (uuid_compare (dentry->pargfid, -                                                      loc->pargfid) == 0)) { -                                        op_ret = -1; -                                        op_errno = ENOENT; -                                        goto unlock; -                                } -                        } -                          list_add_tail (&qr_fd_ctx->inode_list,                                         &qr_inode->fd_list);                  } -        unlock:                  UNLOCK (&fd->inode->lock);          } @@ -3174,26 +3150,6 @@ ret:  } -static qr_dentry_t * -qr_dentry_new (xlator_t *this) -{ -        qr_dentry_t  *dentry = NULL; -        qr_private_t *priv   = NULL; - -        priv = this->private; - -        dentry = mem_get0 (priv->dentry_pool); -        if (dentry == NULL) { -                goto out; -        } - -        INIT_LIST_HEAD (&dentry->unlink_list); - -out: -        return dentry; -} - -  int32_t  qr_unlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                 int32_t op_ret, int32_t op_errno, struct iatt *preparent, @@ -3241,7 +3197,6 @@ int32_t  qr_unlink (call_frame_t *frame, xlator_t *this, loc_t *loc, int xflag,             dict_t *xdata)  { -        qr_dentry_t      *dentry     = NULL;          int32_t           op_errno   = -1, ret = -1, op_ret = -1;          uint64_t          value      = 0;          struct list_head  fd_list    = {0, }; @@ -3271,20 +3226,8 @@ qr_unlink (call_frame_t *frame, xlator_t *this, loc_t *loc, int xflag,          frame->local = local; -        dentry = qr_dentry_new (this); -        if (dentry == NULL) { -                op_errno = ENOMEM; -                goto unwind; -        } - -        dentry->name = gf_strdup (loc->name); -        uuid_copy (dentry->pargfid, loc->pargfid); -          LOCK (&loc->inode->lock);          { -                list_add_tail (&dentry->unlink_list, -                               &qr_inode->unlinked_dentries); -                  list_for_each_entry (fdctx, &qr_inode->fd_list, inode_list) {                          __fd_ref (fdctx->fd);                          list_add_tail (&fdctx->tmp_list, &fd_list); @@ -3863,14 +3806,6 @@ init (xlator_t *this)                  goto out;          } -        priv->dentry_pool = mem_pool_new (qr_dentry_t, 1024); -        if (priv->dentry_pool == NULL) { -                ret = -1; -                gf_log (this->name, GF_LOG_ERROR, -                        "failed to create dentry memory pool"); -                goto out; -        } -          ret = 0;          this->private = priv; diff --git a/xlators/performance/quick-read/src/quick-read.h b/xlators/performance/quick-read/src/quick-read.h index 6058d523b63..41ac4887bc6 100644 --- a/xlators/performance/quick-read/src/quick-read.h +++ b/xlators/performance/quick-read/src/quick-read.h @@ -74,13 +74,6 @@ struct qr_local {  };  typedef struct qr_local qr_local_t; -struct qr_dentry { -        char             *name; -        uuid_t            pargfid; -        struct list_head  unlink_list; -}; -typedef struct qr_dentry qr_dentry_t; -  struct qr_inode {          dict_t           *xattr;          inode_t          *inode; @@ -119,7 +112,6 @@ typedef struct qr_inode_table qr_inode_table_t;  struct qr_private {          qr_conf_t         conf;          qr_inode_table_t  table; -        struct mem_pool  *dentry_pool;  };  typedef struct qr_private qr_private_t;  | 
