View | Details | Raw Unified | Return to bug 106255 | Differences between
and this patch

Collapse All | Expand All

(-)msdosfs_vnops.c (-7 / +8 lines)
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
	}
(-)denode.h (+1 lines)
Lines 239-244 Link Here
239
		timespec2fattime((cre), 0, &(dep)->de_CDate,		\
239
		timespec2fattime((cre), 0, &(dep)->de_CDate,		\
240
		    &(dep)->de_CTime, &(dep)->de_CHun);			\
240
		    &(dep)->de_CTime, &(dep)->de_CHun);			\
241
		    (dep)->de_flag |= DE_MODIFIED;			\
241
		    (dep)->de_flag |= DE_MODIFIED;			\
242
		    (dep)->de_Attributes |= ATTR_ARCHIVE;		\
242
	}								\
243
	}								\
243
	(dep)->de_flag &= ~(DE_UPDATE | DE_CREATE | DE_ACCESS);		\
244
	(dep)->de_flag &= ~(DE_UPDATE | DE_CREATE | DE_ACCESS);		\
244
} while (0)
245
} while (0)

Return to bug 106255