diff --git a/daemon/readdir.c b/daemon/readdir.c index 414aa68..4e50d15 100644 --- a/daemon/readdir.c +++ b/daemon/readdir.c @@ -276,6 +276,13 @@ static int readdir_copy_entry( *dst_pos += info->NextEntryOffset; *dst_len -= info->NextEntryOffset; + if (entry->attr_info.rdattr_error == NFS4ERR_MOVED) { + /* look up attributes for referral entries, but ignore return value; + * it's okay if lookup fails, we'll just write garbage attributes */ + lookup_entry(args->root, args->state->session, + &args->state->file, entry); + } + switch (args->query_class) { case FileNamesInformation: