X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_fs.c;h=08494c8fd9739c35da973eaf8fab88af7ef98d85;hp=f28a6e8dac80b046dd4782627a6ca8dddc46f380;hb=23921bfe157d5cb59ded9ad2f3705490f82806aa;hpb=84e0675793174e99e63ccf0e0af616a6a5a3c1ab diff --git a/yaffs_fs.c b/yaffs_fs.c index f28a6e8..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.48 2006-05-21 09:39:12 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,