}
 
                /* Status load is ordered after lookup counter load */
+               if (cell->dns_status == DNS_LOOKUP_GOT_NOT_FOUND) {
+                       pr_warn("No record of cell %s\n", cell->name);
+                       vc->error = -ENOENT;
+                       return false;
+               }
+
                if (cell->dns_source == DNS_RECORD_UNAVAILABLE) {
                        vc->error = -EDESTADDRREQ;
                        return false;
  */
 static void afs_vl_dump_edestaddrreq(const struct afs_vl_cursor *vc)
 {
+       struct afs_cell *cell = vc->cell;
        static int count;
        int i;
 
 
        rcu_read_lock();
        pr_notice("EDESTADDR occurred\n");
+       pr_notice("CELL: %s err=%d\n", cell->name, cell->error);
+       pr_notice("DNS: src=%u st=%u lc=%x\n",
+                 cell->dns_source, cell->dns_status, cell->dns_lookup_count);
        pr_notice("VC: ut=%lx ix=%u ni=%hu fl=%hx err=%hd\n",
                  vc->untried, vc->index, vc->nr_iterations, vc->flags, vc->error);