From 77dcd5bc02cd01fec6fcc0f139c1e1866b342a87 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Tue, 12 Oct 2010 10:00:00 -0400 Subject: [PATCH] symlink: file and volume attributes handle_volume_attributes() adds FILE_SUPPORTS_REPARSE_POINTS nfs_file_info_to_attributes() adds FILE_ATTRIBUTE_REPARSE_POINT for type==NF4LNK Signed-off-by: Casey Bodley --- daemon/util.c | 2 ++ daemon/volume.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/daemon/util.c b/daemon/util.c index b5af0fd..aae1b64 100644 --- a/daemon/util.c +++ b/daemon/util.c @@ -150,6 +150,8 @@ ULONG nfs_file_info_to_attributes( ULONG attrs = 0; if (info->type == NF4DIR) attrs |= FILE_ATTRIBUTE_DIRECTORY; + else if (info->type == NF4LNK) + attrs |= FILE_ATTRIBUTE_REPARSE_POINT; else if (info->type != NF4REG) dprintf(1, "unhandled file type %d, defaulting to NF4REG\n", info->type); diff --git a/daemon/volume.c b/daemon/volume.c index 508309b..20dbb02 100644 --- a/daemon/volume.c +++ b/daemon/volume.c @@ -108,7 +108,8 @@ static int handle_volume_attributes( goto out; } - attr->FileSystemAttributes = FILE_SUPPORTS_REMOTE_STORAGE; + attr->FileSystemAttributes = FILE_SUPPORTS_REMOTE_STORAGE | + FILE_SUPPORTS_REPARSE_POINTS; if (info.case_preserving) attr->FileSystemAttributes |= FILE_CASE_PRESERVED_NAMES; if (!info.case_insensitive)