no need to have _two_ 256-byte arrays on stack...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* It may already be, as the flag isn't always updated when connection happens.
*/
static int
* It may already be, as the flag isn't always updated when connection happens.
*/
static int
-reconnect_path(struct vfsmount *mnt, struct dentry *target_dir)
+reconnect_path(struct vfsmount *mnt, struct dentry *target_dir, char *nbuf)
int noprogress = 0;
int err = -ESTALE;
int noprogress = 0;
int err = -ESTALE;
{
const struct export_operations *nop = mnt->mnt_sb->s_export_op;
struct dentry *result, *alias;
{
const struct export_operations *nop = mnt->mnt_sb->s_export_op;
struct dentry *result, *alias;
* filesystem root.
*/
if (result->d_flags & DCACHE_DISCONNECTED) {
* filesystem root.
*/
if (result->d_flags & DCACHE_DISCONNECTED) {
- err = reconnect_path(mnt, result);
+ err = reconnect_path(mnt, result, nbuf);
if (err)
goto err_result;
}
if (err)
goto err_result;
}
* It's not a directory. Life is a little more complicated.
*/
struct dentry *target_dir, *nresult;
* It's not a directory. Life is a little more complicated.
*/
struct dentry *target_dir, *nresult;
/*
* See if either the dentry we just got from the filesystem
/*
* See if either the dentry we just got from the filesystem
* connected to the filesystem root. The VFS really doesn't
* like disconnected directories..
*/
* connected to the filesystem root. The VFS really doesn't
* like disconnected directories..
*/
- err = reconnect_path(mnt, target_dir);
+ err = reconnect_path(mnt, target_dir, nbuf);
if (err) {
dput(target_dir);
goto err_result;
if (err) {
dput(target_dir);
goto err_result;