linux fh_to_dentry can return err
authorCharles Hannum <root@ihack.net>
Fri, 22 Oct 2010 18:50:56 +0000 (14:50 -0400)
committerDerrick Brashear <shadow@dementia.org>
Fri, 22 Oct 2010 20:18:57 +0000 (13:18 -0700)
handle e.g. ESTALE from  fh_to_dentry (in this case via
d_obtain_alias and fat_fh_to_dentry) so we print a meaningful
error when we lose.

Change-Id: If9f53776e0df4bfecf704943110a62b8c98684ce
Reviewed-on: http://gerrit.openafs.org/3028
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/afs/LINUX/osi_file.c

index 2602ec6..4a28da6 100644 (file)
@@ -50,7 +50,7 @@ afs_linux_raw_open(afs_dcache_id_t *ainode)
 
     dp = afs_get_dentry_from_fh(afs_cacheSBp, ainode, cache_fh_len, cache_fh_type,
                afs_fh_acceptable);
-    if (!dp)
+    if ((!dp) || IS_ERR(dp))
            osi_Panic("Can't get dentry\n");
     tip = dp->d_inode;
     tip->i_flags |= S_NOATIME; /* Disable updating access times. */