aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dcache.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/dcache.c')
-rw-r--r--fs/dcache.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/dcache.c b/fs/dcache.c
index 83293be48149..54f93f5e6b0f 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1994,7 +1994,7 @@ global_root:
1994 * Returns a pointer into the buffer or an error code if the 1994 * Returns a pointer into the buffer or an error code if the
1995 * path was too long. 1995 * path was too long.
1996 * 1996 *
1997 * "buflen" should be positive. Caller holds the dcache_lock. 1997 * "buflen" should be positive.
1998 * 1998 *
1999 * If path is not reachable from the supplied root, then the value of 1999 * If path is not reachable from the supplied root, then the value of
2000 * root is changed (without modifying refcounts). 2000 * root is changed (without modifying refcounts).
@@ -2006,10 +2006,12 @@ char *__d_path(const struct path *path, struct path *root,
2006 int error; 2006 int error;
2007 2007
2008 prepend(&res, &buflen, "\0", 1); 2008 prepend(&res, &buflen, "\0", 1);
2009 spin_lock(&dcache_lock);
2009 error = prepend_path(path, root, &res, &buflen); 2010 error = prepend_path(path, root, &res, &buflen);
2011 spin_unlock(&dcache_lock);
2012
2010 if (error) 2013 if (error)
2011 return ERR_PTR(error); 2014 return ERR_PTR(error);
2012
2013 return res; 2015 return res;
2014} 2016}
2015 2017