diff options
author | Sunil Kumar Acharya <sheggodu@redhat.com> | 2017-03-23 12:50:41 +0530 |
---|---|---|
committer | jiffin tony Thottan <jthottan@redhat.com> | 2018-02-02 06:50:35 +0000 |
commit | b5a8e10a2aa80be463e1d20f4099d24294bc5e8a (patch) | |
tree | d384c1a1c9693c0a95b2deba19f27a5af5892d0b /xlators/cluster/ec/src/ec-dir-read.c | |
parent | c949870a7fb2179f8e75ab070a5eae4fc11f78b3 (diff) |
cluster/ec: OpenFD heal implementation for EC
Existing EC code doesn't try to heal the OpenFD to
avoid unnecessary healing of the data later.
Fix implements the healing of open FDs before
carrying out file operations on them by making an
attempt to open the FDs on required up nodes.
Backport of:
>BUG: 1431955
BUG: 1536334
Change-Id: Ib696f59c41ffd8d5678a484b23a00bb02764ed15
Signed-off-by: Sunil Kumar Acharya <sheggodu@redhat.com>
Diffstat (limited to 'xlators/cluster/ec/src/ec-dir-read.c')
-rw-r--r-- | xlators/cluster/ec/src/ec-dir-read.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/xlators/cluster/ec/src/ec-dir-read.c b/xlators/cluster/ec/src/ec-dir-read.c index 4fe82e3c0b6..a371d99f2ff 100644 --- a/xlators/cluster/ec/src/ec-dir-read.c +++ b/xlators/cluster/ec/src/ec-dir-read.c @@ -19,7 +19,11 @@ #include "ec-method.h" #include "ec-fops.h" -/* FOP: opendir */ +/**************************************************************** + * + * File Operation: opendir + * + ***************************************************************/ int32_t ec_combine_opendir(ec_fop_data_t * fop, ec_cbk_data_t * dst, ec_cbk_data_t * src) @@ -88,6 +92,8 @@ int32_t ec_opendir_cbk(call_frame_t * frame, void * cookie, xlator_t * this, } ec_combine(cbk, ec_combine_opendir); + + ec_update_fd_status (fd, this, idx, op_ret); } out: |