diff options
| author | Raghavendra Bhat <raghavendrabhat@gluster.com> | 2011-08-31 13:02:21 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2011-09-11 23:24:38 -0700 | 
| commit | 225dd7da8959c78331d16ba2c2a955b1432bc873 (patch) | |
| tree | 7986417087855e88fd905c519f9cc7a405d6c2ce /xlators/protocol/client/src/client.h | |
| parent | a2ef31b01537d8edd5ecf3738967704b0a19b137 (diff) | |
protocol/client: avoid code duplication in fd based operations
Change-Id: I012f78bac8ba82333628c59ef51d5e5f43d05ac7
BUG: 3158
Reviewed-on: http://review.gluster.com/329
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/protocol/client/src/client.h')
| -rw-r--r-- | xlators/protocol/client/src/client.h | 25 | 
1 files changed, 25 insertions, 0 deletions
diff --git a/xlators/protocol/client/src/client.h b/xlators/protocol/client/src/client.h index 1322aebf9..459ceed70 100644 --- a/xlators/protocol/client/src/client.h +++ b/xlators/protocol/client/src/client.h @@ -35,6 +35,31 @@  #define CLIENT_CMD_DISCONNECT "trusted.glusterfs.client-disconnect"  #define CLIENT_DUMP_LOCKS     "trusted.glusterfs.clientlk-dump" +#define CLIENT_GET_FD_CTX(conf, args, fdctx, op_errno, label)           \ +        do {                                                            \ +                pthread_mutex_lock (&conf->lock);                       \ +                {                                                       \ +                        fdctx = this_fd_get_ctx (args->fd, this);       \ +                }                                                       \ +                pthread_mutex_unlock (&conf->lock);                     \ +                                                                        \ +                if (fdctx == NULL) {                                    \ +                        gf_log (this->name, GF_LOG_WARNING,             \ +                                "(%s): failed to get fd ctx. EBADFD",   \ +                                uuid_utoa (args->fd->inode->gfid));     \ +                        op_errno = EBADFD;                              \ +                        goto label;                                     \ +                }                                                       \ +                                                                        \ +                if (fdctx->remote_fd == -1) {                           \ +                        gf_log (this->name, GF_LOG_WARNING,             \ +                                "(%s): failed to get fd ctx. EBADFD",   \ +                                uuid_utoa (args->fd->inode->gfid));     \ +                        op_errno = EBADFD;                              \ +                        goto label;                                     \ +                }                                                       \ +        } while (0); +  struct clnt_options {          char *remote_subvolume;          int   ping_timeout;  | 
