diff options
Diffstat (limited to 'xlators/cluster/afr/src')
| -rw-r--r-- | xlators/cluster/afr/src/afr-self-heald.c | 11 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr.c | 2 | 
2 files changed, 11 insertions, 2 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heald.c b/xlators/cluster/afr/src/afr-self-heald.c index 36d2cfb6ee5..fde17209fe3 100644 --- a/xlators/cluster/afr/src/afr-self-heald.c +++ b/xlators/cluster/afr/src/afr-self-heald.c @@ -715,6 +715,7 @@ _process_entries (xlator_t *this, loc_t *parentloc, gf_dirent_t *entries,          loc_t            entry_loc = {0};          fd_t             *fd = NULL;          struct iatt      iattr = {0}; +        inode_t          *link_inode = NULL;          list_for_each_entry_safe (entry, tmp, &entries->list, list) {                  if (!_crawl_proceed (this, crawl_data->child, @@ -751,7 +752,15 @@ _process_entries (xlator_t *this, loc_t *parentloc, gf_dirent_t *entries,                  if (ret || !IA_ISDIR (iattr.ia_type))                          continue; -                inode_link (entry_loc.inode, parentloc->inode, NULL, &iattr); +                link_inode = inode_link (entry_loc.inode, NULL, NULL, &iattr); +                if (link_inode == NULL) { +                        char uuidbuf[64]; +                        gf_log (this->name, GF_LOG_ERROR, "inode link failed " +                                "on the inode (%s)", +                                uuid_utoa_r (entry_loc.gfid, uuidbuf)); +                        ret = -1; +                        goto out; +                }                  fd = NULL;                  ret = afr_crawl_opendir (this, crawl_data, &fd, &entry_loc); diff --git a/xlators/cluster/afr/src/afr.c b/xlators/cluster/afr/src/afr.c index ce82aede839..0bd389ef90c 100644 --- a/xlators/cluster/afr/src/afr.c +++ b/xlators/cluster/afr/src/afr.c @@ -30,7 +30,7 @@  #endif  #include "afr-common.c" -#define SHD_INODE_LRU_LIMIT          100 +#define SHD_INODE_LRU_LIMIT          2048  #define AFR_EH_HEALED_LIMIT          1024  #define AFR_EH_HEAL_FAIL_LIMIT       1024  #define AFR_EH_SPLIT_BRAIN_LIMIT     1024  | 
