diff options
author | Amar Tumballi <amar@gluster.com> | 2011-06-16 07:48:22 +0000 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-06-16 23:24:56 -0700 |
commit | 4e1ec35ef4f7bbf70c3e08e7c246946551f19e93 (patch) | |
tree | 0a932e17c9554a2c31be469c41190a16450b67fe /xlators/cluster/afr/src/afr-dir-read.c | |
parent | f04898973f15cfa13fcf39a903786983885352bc (diff) |
core: fill 'ia_ino' from 'ia_gfid' in 'storage/posix' to preserve same ino number
take the least significant 64bit from gfid and assign it to 'ia_ino',
hence for a given file (or directory), the 'ia_ino' number is always
same, and we need not worry about the 'itransform' in 'cluster/*'
translators.
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 3042 (inode number should be constant on storage)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3042
Diffstat (limited to 'xlators/cluster/afr/src/afr-dir-read.c')
-rw-r--r-- | xlators/cluster/afr/src/afr-dir-read.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/xlators/cluster/afr/src/afr-dir-read.c b/xlators/cluster/afr/src/afr-dir-read.c index b2a001a198a..16b44a6856b 100644 --- a/xlators/cluster/afr/src/afr-dir-read.c +++ b/xlators/cluster/afr/src/afr-dir-read.c @@ -495,10 +495,6 @@ afr_readdir_cbk (call_frame_t *frame, void *cookie, goto out; list_for_each_entry_safe (entry, tmp, &entries->list, list) { - entry->d_ino = afr_itransform (entry->d_ino, - priv->child_count, - child_index); - if ((local->fd->inode == local->fd->inode->table->root) && !strcmp (entry->d_name, GF_REPLICATE_TRASH_DIR)) { list_del_init (&entry->list); @@ -520,7 +516,6 @@ afr_readdirp_cbk (call_frame_t *frame, void *cookie, xlator_t *this, afr_private_t * priv = NULL; afr_local_t * local = NULL; xlator_t ** children = NULL; - ino_t inum = 0; int call_child = 0; int ret = 0; gf_dirent_t * entry = NULL; @@ -575,13 +570,6 @@ afr_readdirp_cbk (call_frame_t *frame, void *cookie, xlator_t *this, if (op_ret != -1) { list_for_each_entry_safe (entry, tmp, &entries->list, list) { - inum = afr_itransform (entry->d_ino, priv->child_count, - child_index); - entry->d_ino = inum; - inum = afr_itransform (entry->d_stat.ia_ino, - priv->child_count, child_index); - entry->d_stat.ia_ino = inum; - if ((local->fd->inode == local->fd->inode->table->root) && !strcmp (entry->d_name, GF_REPLICATE_TRASH_DIR)) { list_del_init (&entry->list); |