With noatime option cwfs doesn’t preserve changes in file permission/owner.

Fri, 9 Oct 2015 12:59:19 EDT

To reproduce:

  1. Set noatime option.

/dev/sdM0: Arasan eMMC SD Host Controller 02 Version 99 /dev/sdM0/data /dev/sdM0/dos dos /dev/sdM0/fscache cwfs64x /dev/sdM0/fsworm /dev/sdM0/nvram /dev/sdM0/other /dev/sdM0/plan9 bootargs is (tcp, il, local!device)[local!/dev/sdM0/fscache] local!/dev/sdM0/fscache -c config: noatime atime disabled config: end current fs is “main” 11 uids read, 3 groups used 63-bit cwfs as of Thu Oct 1 11:51:29 2015

    last boot Thu Jan  1 00:00:32 1970

1 keys read in DES format

init: starting /bin/rc rpi#

  1. Create new file and change permissions/owner:

rpi# >file rpi# ls -l file —rw-r—r— M 22 glenda glenda 0 Oct 9 18:49 file rpi# chmod a+x file rpi# echo allow >>/srv/cwfs.cmd rpi# chgrp -u sys file rpi# ls -l file —rwxr-xr-x M 22 sys glenda 0 Oct 9 18:49 file rpi# fshalt -r

  1. After reboot:

rpi# ls -l file —rw-r—r— M 22 glenda glenda 0 Oct 9 18:49 file

— MichaƂ

Fri, 9 Oct 2015 13:24:01 EDT

found it, should be fixed with commit 849862c332f6. thanks!

the noatime option wasnt a very good idea in the first place. it will make dumps slow because the recursive walk uses the block dirty flag to guide its recursive descend into the tree as a optimization. without parent directories automatically being dirtied by walks, we have to traverse all directories to find the modified files.

— cinap