~ubuntu-branches/ubuntu/saucy/glusterfs/saucy

« back to all changes in this revision

Viewing changes to xlators/cluster/afr/src/afr-open.c

  • Committer: Package Import Robot
  • Author(s): Patrick Matthäi, Louis Zuckerman, Patrick Matthäi
  • Date: 2012-01-07 14:19:57 UTC
  • mfrom: (1.3.14)
  • Revision ID: package-import@ubuntu.com-20120107141957-532c9ubquvlmzls5
Tags: 3.2.5-1
[ Louis Zuckerman ]
* Add patch (03) to fix build errors

[ Patrick Matthäi ]
* New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
277
277
 
278
278
 
279
279
int
280
 
afr_openfd_sh_unwind (call_frame_t *frame, xlator_t *this)
 
280
afr_openfd_sh_unwind (call_frame_t *frame, xlator_t *this, int32_t op_ret,
 
281
                      int32_t op_errno)
281
282
{
282
283
        afr_local_t   *local      = NULL;
283
284
        afr_private_t *priv       = NULL;
321
322
        UNLOCK (&local->fd->lock);
322
323
 
323
324
        if (call_count == 0) {
324
 
                gf_log (this->name, GF_LOG_WARNING,
325
 
                        "fd not open on any subvolume %p (%s)",
326
 
                        local->fd, local->loc.path);
327
325
                abandon = 1;
328
326
                goto out;
329
327
        }
418
416
        GF_ASSERT (local->loc.path);
419
417
        /* forcibly trigger missing-entries self-heal */
420
418
 
421
 
        local->success_count    = 1;
422
 
        local->enoent_count     = 1;
423
 
 
 
419
        sh->need_missing_entry_self_heal = _gf_true;
 
420
        sh->need_gfid_self_heal = _gf_true;
424
421
        sh->data_lock_held      = _gf_true;
425
422
        sh->need_data_self_heal = _gf_true;
426
423
        sh->type                = local->fd->inode->ia_type;
434
431
                "path: %s, reason: Replicate up down flush, data lock is held",
435
432
                sh_type_str, local->loc.path);
436
433
 
437
 
        afr_self_heal (frame, this);
 
434
        afr_self_heal (frame, this, local->fd->inode);
438
435
 
439
436
        return 0;
440
437
}
619
616
        UNLOCK (&local->fd->lock);
620
617
 
621
618
        if (call_count == 0) {
622
 
                gf_log (this->name, GF_LOG_WARNING,
623
 
                        "fd not open on any subvolume %p (%s)",
624
 
                        fd, local->loc.path);
625
619
                no_open = 1;
626
620
                goto out;
627
621
        }