diff options
author | Pranith Kumar K <pkarampu@redhat.com> | 2016-10-26 06:51:18 +0530 |
---|---|---|
committer | Xavier Hernandez <xhernandez@datalab.es> | 2016-10-26 23:23:26 -0700 |
commit | c3955f1ef6e01c04c2462f5ddb46800af2aee317 (patch) | |
tree | ffefb7e79674b704c0febea6bd81e0f65661c835 /xlators | |
parent | 915ae56a65d5a96bfddf977193dca60535ac7c11 (diff) |
afr,ec: Heal device files with correct major, minor numbers
Thanks a lot to xiaoping.wu@nokia.com from Nokia for the bug and the
fix.
>BUG: 1384297
>Change-Id: Ie443237e85d34633b5dd30f85eaa2ac34e45754c
>Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
>Reviewed-on: http://review.gluster.org/15728
>Smoke: Gluster Build System <jenkins@build.gluster.org>
>NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
>Reviewed-by: Xavier Hernandez <xhernandez@datalab.es>
>CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Change-Id: Ie7977caf7c98c91fca64752c56731c37ad27df4d
BUG: 1388912
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/15734
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Xavier Hernandez <xhernandez@datalab.es>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-entry.c | 3 | ||||
-rw-r--r-- | xlators/cluster/ec/src/ec-heal.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal-entry.c b/xlators/cluster/afr/src/afr-self-heal-entry.c index 963b7b8625c..a0e361ab987 100644 --- a/xlators/cluster/afr/src/afr-self-heal-entry.c +++ b/xlators/cluster/afr/src/afr-self-heal-entry.c @@ -145,7 +145,8 @@ afr_selfheal_recreate_entry (xlator_t *this, int dst, int source, inode_t *dir, if (ret) goto out; ret = syncop_mknod (priv->children[dst], &loc, mode, - iatt->ia_rdev, &newent, xdata, NULL); + makedev (ia_major(iatt->ia_rdev), ia_minor (iatt->ia_rdev)), + &newent, xdata, NULL); if (ret == 0 && newent.ia_nlink == 1) { /* New entry created. Mark @dst pending on all sources */ newentry[dst] = 1; diff --git a/xlators/cluster/ec/src/ec-heal.c b/xlators/cluster/ec/src/ec-heal.c index bac8337cd3d..b135979af3c 100644 --- a/xlators/cluster/ec/src/ec-heal.c +++ b/xlators/cluster/ec/src/ec-heal.c @@ -1148,7 +1148,8 @@ ec_create_name (call_frame_t *frame, ec_t *ec, inode_t *parent, char *name, replies, output, frame, ec->xl, &loc, st_mode_from_ia (ia->ia_prot, ia->ia_type), - ia->ia_rdev, 0, xdata); + makedev(ia_major(ia->ia_rdev), ia_minor(ia->ia_rdev)), + 0, xdata); break; } |