if (S_ISDIR(st->st_mode))
result = FILE_ATTRIBUTE_DIRECTORY | (result & FILE_ATTRIBUTE_READONLY);
- if (!(result &
- (FILE_ATTRIBUTE_READONLY|
- FILE_ATTRIBUTE_ARCHIVE|
- FILE_ATTRIBUTE_SYSTEM|
- FILE_ATTRIBUTE_HIDDEN|
- FILE_ATTRIBUTE_DIRECTORY))) {
- result |= FILE_ATTRIBUTE_NORMAL;
- }
-
return result;
}
name->dos.attrib = dos_mode_from_stat(pvfs, &name->st);
name->dos.alloc_size = pvfs_round_alloc_size(pvfs, name->st.st_size);
name->dos.nlink = name->st.st_nlink;
- name->dos.ea_size = 0;
+ name->dos.ea_size = 4;
name->dos.file_id = (((uint64_t)name->st.st_dev)<<32) | name->st.st_ino;
+ name->dos.flags = 0;
return pvfs_dosattrib_load(pvfs, name, fd);
}
*/
mode_t pvfs_fileperms(struct pvfs_state *pvfs, uint32 attrib)
{
- mode_t mode = S_IRUSR | S_IRGRP | S_IROTH;
+ mode_t mode = S_IRUSR;
if (attrib & FILE_ATTRIBUTE_DIRECTORY) {
- mode |= S_IXUSR | S_IXGRP | S_IXOTH;
+ mode |= S_IXUSR;
}
if (!(attrib & FILE_ATTRIBUTE_READONLY) ||