adding query for FileInternalInformation infoclass

this query asks for a file index which is unique identifier for a file which
we can satisfy from file attribute called "fileid"
This commit is contained in:
Olga Kornievskaia 2011-03-30 14:21:40 -04:00 committed by unknown
parent 6aab42a4b5
commit b9e369fac6
7 changed files with 20 additions and 15 deletions

View file

@ -116,6 +116,9 @@ static int handle_getattr(nfs41_upcall *upcall)
args->tag_info.ReparseTag = info.type == NF4LNK ?
IO_REPARSE_TAG_SYMLINK : 0;
break;
case FileInternalInformation:
args->intr_info.IndexNumber.QuadPart = info.fileid;
break;
default:
eprintf("unhandled file query class %d\n", args->query_class);
status = ERROR_INVALID_PARAMETER;
@ -153,6 +156,13 @@ static int marshall_getattr(unsigned char *buffer, uint32_t *length, nfs41_upcal
status = safe_write(&buffer, length, &args->tag_info, info_len);
if (status) goto out;
break;
case FileInternalInformation:
info_len = sizeof(args->intr_info);
status = safe_write(&buffer, length, &info_len, sizeof(info_len));
if (status) goto out;
status = safe_write(&buffer, length, &args->intr_info, info_len);
if (status) goto out;
break;
default:
eprintf("unknown file query class %d\n", args->query_class);
status = 103;