X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_fs.c;h=08494c8fd9739c35da973eaf8fab88af7ef98d85;hp=bcc148be595671a52a49cfa5685db679b78e6f89;hb=5d6a2a9623f3244418f6f8f01bbc9cd29ee27a80;hpb=4cbec5e5fa796025d6aadc2a13d79f9a00b4fbaa diff --git a/yaffs_fs.c b/yaffs_fs.c index bcc148b..08494c8 100644 --- a/yaffs_fs.c +++ b/yaffs_fs.c @@ -31,7 +31,7 @@ */ const char *yaffs_fs_c_version = - "$Id: yaffs_fs.c,v 1.47 2006-05-17 09:36:06 charles Exp $"; + "$Id: yaffs_fs.c,v 1.49 2006-05-25 01:26:57 charles Exp $"; extern const char *yaffs_guts_c_version; #include @@ -910,6 +910,9 @@ static int yaffs_mknod(struct inode *dir, struct dentry *dentry, int mode, int error = -ENOSPC; uid_t uid = current->fsuid; gid_t gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->fsgid; + + if((dir->i_mode & S_ISGID) && S_ISDIR(mode)) + mode |= S_ISGID; if (parent) { T(YAFFS_TRACE_OS, @@ -1547,6 +1550,8 @@ static struct super_block *yaffs_internal_read_super(int yaffsVersion, dev->nBytesPerChunk = mtd->oobblock; dev->nChunksPerBlock = mtd->erasesize / mtd->oobblock; nBlocks = mtd->size / mtd->erasesize; + + dev->nCheckpointReservedBlocks = 10; dev->startBlock = 0; dev->endBlock = nBlocks - 1; } else {