diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-05-28 13:42:29 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-05-28 13:42:29 +1000 |
commit | 0f2d8eacf5217b04c88420513a1a1f52e374d659 (patch) | |
tree | 0bfa7b93a0ba286db7839279ddb1f1279e658131 /source4/ntvfs/posix | |
parent | baa2dffdf34c2f3aa150695c60742d616eeb3b09 (diff) | |
parent | bb264d3a1f212be7eca4b38e61db19de8a26e158 (diff) | |
download | samba-0f2d8eacf5217b04c88420513a1a1f52e374d659.tar.gz samba-0f2d8eacf5217b04c88420513a1a1f52e374d659.tar.bz2 samba-0f2d8eacf5217b04c88420513a1a1f52e374d659.zip |
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-abartlet
(This used to be commit 3038dd8a4ffae4113f49547a9d4d6b1c8c46397a)
Diffstat (limited to 'source4/ntvfs/posix')
-rw-r--r-- | source4/ntvfs/posix/pvfs_qfileinfo.c | 9 | ||||
-rw-r--r-- | source4/ntvfs/posix/pvfs_read.c | 2 | ||||
-rw-r--r-- | source4/ntvfs/posix/pvfs_write.c | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/source4/ntvfs/posix/pvfs_qfileinfo.c b/source4/ntvfs/posix/pvfs_qfileinfo.c index 6e3092b744..c663466985 100644 --- a/source4/ntvfs/posix/pvfs_qfileinfo.c +++ b/source4/ntvfs/posix/pvfs_qfileinfo.c @@ -178,6 +178,15 @@ static NTSTATUS pvfs_map_fileinfo(struct pvfs_state *pvfs, case RAW_FILEINFO_ALL_EAS: return pvfs_query_all_eas(pvfs, req, name, fd, &info->all_eas.out); + case RAW_FILEINFO_SMB2_ALL_EAS: { + NTSTATUS status = pvfs_query_all_eas(pvfs, req, name, fd, &info->all_eas.out); + if (NT_STATUS_IS_OK(status) && + info->all_eas.out.num_eas == 0) { + return NT_STATUS_NO_EAS_ON_FILE; + } + return status; + } + case RAW_FILEINFO_IS_NAME_VALID: return NT_STATUS_OK; diff --git a/source4/ntvfs/posix/pvfs_read.c b/source4/ntvfs/posix/pvfs_read.c index a01a8a57e3..8e1a59473f 100644 --- a/source4/ntvfs/posix/pvfs_read.c +++ b/source4/ntvfs/posix/pvfs_read.c @@ -46,7 +46,7 @@ NTSTATUS pvfs_read(struct ntvfs_module_context *ntvfs, } if (f->handle->fd == -1) { - return NT_STATUS_FILE_IS_A_DIRECTORY; + return NT_STATUS_INVALID_DEVICE_REQUEST; } mask = SEC_FILE_READ_DATA; diff --git a/source4/ntvfs/posix/pvfs_write.c b/source4/ntvfs/posix/pvfs_write.c index dda8c83407..1f662f13fc 100644 --- a/source4/ntvfs/posix/pvfs_write.c +++ b/source4/ntvfs/posix/pvfs_write.c @@ -45,7 +45,7 @@ NTSTATUS pvfs_write(struct ntvfs_module_context *ntvfs, } if (f->handle->fd == -1) { - return NT_STATUS_FILE_IS_A_DIRECTORY; + return NT_STATUS_INVALID_DEVICE_REQUEST; } if (!(f->access_mask & (SEC_FILE_WRITE_DATA | SEC_FILE_APPEND_DATA))) { |