Lines 354-360
Link Here
|
354 |
vap->va_birthtime.tv_nsec = 0; |
354 |
vap->va_birthtime.tv_nsec = 0; |
355 |
} |
355 |
} |
356 |
vap->va_flags = 0; |
356 |
vap->va_flags = 0; |
357 |
if ((dep->de_Attributes & ATTR_ARCHIVE) == 0) |
357 |
if (dep->de_Attributes & ATTR_ARCHIVE) |
358 |
vap->va_flags |= SF_ARCHIVED; |
358 |
vap->va_flags |= SF_ARCHIVED; |
359 |
vap->va_gen = 0; |
359 |
vap->va_gen = 0; |
360 |
vap->va_blocksize = pmp->pm_bpcluster; |
360 |
vap->va_blocksize = pmp->pm_bpcluster; |
Lines 431-442
Link Here
|
431 |
if (error) |
431 |
if (error) |
432 |
return (error); |
432 |
return (error); |
433 |
} |
433 |
} |
434 |
if (vap->va_flags & ~SF_ARCHIVED) |
|
|
435 |
return EOPNOTSUPP; |
436 |
if (vap->va_flags & SF_ARCHIVED) |
434 |
if (vap->va_flags & SF_ARCHIVED) |
437 |
dep->de_Attributes &= ~ATTR_ARCHIVE; |
435 |
dep->de_Attributes &= ~ATTR_ARCHIVE; |
438 |
else if (!(dep->de_Attributes & ATTR_DIRECTORY)) |
436 |
else |
439 |
dep->de_Attributes |= ATTR_ARCHIVE; |
437 |
if (dep->de_Attributes & ATTR_DIRECTORY) |
|
|
438 |
return EOPNOTSUPP; |
439 |
else |
440 |
dep->de_Attributes |= ATTR_ARCHIVE; |
440 |
dep->de_flag |= DE_MODIFIED; |
441 |
dep->de_flag |= DE_MODIFIED; |
441 |
} |
442 |
} |
442 |
|
443 |
|
Lines 506-513
Link Here
|
506 |
dep->de_flag &= ~DE_UPDATE; |
507 |
dep->de_flag &= ~DE_UPDATE; |
507 |
timespec2fattime(&vap->va_mtime, 0, |
508 |
timespec2fattime(&vap->va_mtime, 0, |
508 |
&dep->de_MDate, &dep->de_MTime, NULL); |
509 |
&dep->de_MDate, &dep->de_MTime, NULL); |
|
|
510 |
dep->de_Attributes |= ATTR_ARCHIVE; |
511 |
/* only set archive flag when file has changed */ |
509 |
} |
512 |
} |
510 |
dep->de_Attributes |= ATTR_ARCHIVE; |
|
|
511 |
dep->de_flag |= DE_MODIFIED; |
513 |
dep->de_flag |= DE_MODIFIED; |
512 |
} |
514 |
} |
513 |
} |
515 |
} |
Lines 531-537
Link Here
|
531 |
dep->de_Attributes &= ~ATTR_READONLY; |
533 |
dep->de_Attributes &= ~ATTR_READONLY; |
532 |
else |
534 |
else |
533 |
dep->de_Attributes |= ATTR_READONLY; |
535 |
dep->de_Attributes |= ATTR_READONLY; |
534 |
dep->de_Attributes |= ATTR_ARCHIVE; |
|
|
535 |
dep->de_flag |= DE_MODIFIED; |
536 |
dep->de_flag |= DE_MODIFIED; |
536 |
} |
537 |
} |
537 |
} |
538 |
} |