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 <cbodley@citi.umich.edu>
This commit is contained in:
Casey Bodley 2010-10-12 10:00:00 -04:00
parent 5dc1b43191
commit 77dcd5bc02
2 changed files with 4 additions and 1 deletions

View file

@ -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);

View file

@ -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)