Tom Thanx for the concise report on this. It took a bit longer for me to get around to sorting this out than I would have liked, been a bit busy! I have just checked in a fix to this. It is a two-liner so is easy to apply if you want to do this without picking up the checkpointing stuff, though adding the checkpointing would make your system mount faster too. The fix is: http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2/yaffs_fs.c?r1=1.48&r2=1.49 -- Charles On Tuesday 09 May 2006 05:27, Tom Hansen wrote: > Here is a transcript of the test session, in which I compare the > behavior of the ramfs mounted on /tmp with that of YAFFS. > > root@ts-7250:~ $ cd /tmp > root@ts-7250:/tmp $ mkdir testsgid > root@ts-7250:/tmp $ chgrp bin testsgid > root@ts-7250:/tmp $ chmod g+s testsgid > root@ts-7250:/tmp $ cd testsgid > root@ts-7250:/tmp/testsgid $ ls -Fla > drwxrwsr-x 1 root bin 0 May 8 12:18 ./ > drwxrwxrwt 1 root root 0 Dec 31 1969 ../ > root@ts-7250:/tmp/testsgid $ touch testfile > root@ts-7250:/tmp/testsgid $ ls -Fla > drwxrwsr-x 1 root bin 0 May 8 12:18 ./ > drwxrwxrwt 1 root root 0 Dec 31 1969 ../ > -rw-rw-r-- 1 root bin 0 May 8 12:19 testfile > root@ts-7250:/tmp/testsgid $ cd > root@ts-7250:~ $ mkdir testsgid > root@ts-7250:~ $ chgrp bin testsgid > root@ts-7250:~ $ chmod g+s testsgid > root@ts-7250:~ $ cd testsgid > root@ts-7250:~/testsgid $ ls -Fla > drwxrwsr-x 1 root bin 512 May 8 12:19 ./ > drwxr-xr-x 1 root root 512 Oct 26 2005 ../ > root@ts-7250:~/testsgid $ touch testfile > root@ts-7250:~/testsgid $ ls -Fla > drwxrwsr-x 1 root bin 512 May 8 12:19 ./ > drwxr-xr-x 1 root root 512 Oct 26 2005 ../ > -rw-rw-r-- 1 root root 0 May 8 12:20 testfile > root@ts-7250:~/testsgid $ > > You can see that the new "testfile" has a group ID of "bin" in the first > example, but retains "root" in the second. > > Here is the output from /proc/yaffs: > > $Id: yaffs_fs.c,v 1.3 2005/01/25 00:38:25 eddie Exp $ > $Id: yaffs_guts.c,v 1.2 2005/01/10 18:27:13 eddie Exp $ > > Device yaffs > startBlock......... 1 > endBlock........... 1855 > chunkGroupBits..... 0 > chunkGroupSize..... 1 > nErasedBlocks...... 7 > nTnodesCreated..... 7600 > nFreeTnodes........ 2513 > nObjectsCreated.... 4600 > nFreeObjects....... 2511 > nFreeChunks........ 2273 > nPageWrites........ 1036366 > nPageReads......... 2450159 > nBlockErasures..... 17124 > nGCCopies.......... 393757 > garbageCollections. 17122 > passiveGCs......... 18 > nRetriedWrites..... 0 > nRetireBlocks...... 0 > eccFixed........... 0 > eccUnfixed......... 0 > tagsEccFixed....... 0 > tagsEccUnfixed..... 8 > cacheHits.......... 0 > nDeletedFiles...... 7751 > nUnlinkedFiles..... 10282 > nBackgroudDeletions 0 > useNANDECC......... 1 > > Also, my /etc/fstab: > > proc /proc proc defaults 0 0 > /dev/mtdblock/1 / yaffs defaults,noatime,grpid 0 0 > ramfs /tmp ramfs mode=1777 0 0 > > Charles Manning wrote: > > On Thursday 27 April 2006 22:25, Tom Hansen wrote: > >> I'm using YAFFS with the 2.4.26-ts9 kernel on a Technologics TS-7250. > > > > Is that YAFFS2? > > > >> When I set the SGID bit on a directory, files created under it do not > >> inherit the group ID, and directories created under it inherit neither > >> the group ID nor the SGID bit. > >> > >> I have a ramfs mount active at the same time (on /tmp), and the correct > >> SGID behavior occurs there, so it does seem to be a filesystem-specific > >> issue. > >> > >> Is there some mount option I should be using? I tried the 'grpid' > >> mount option, but it had no effect on the problem. > > > > Could you send a bash script that can demo the problem? > > > > YAFFS does not listen to any mount options itself, but the VFS can be > > doing things on its behalf. > > > > -- Charles