diff options
Diffstat (limited to 'fs/ubifs')
| -rw-r--r-- | fs/ubifs/dir.c | 9 | ||||
| -rw-r--r-- | fs/ubifs/io.c | 1 |
2 files changed, 2 insertions, 8 deletions
diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c index 401e503d44a..87ebcce7221 100644 --- a/fs/ubifs/dir.c +++ b/fs/ubifs/dir.c | |||
| @@ -104,14 +104,7 @@ struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir, | |||
| 104 | */ | 104 | */ |
| 105 | inode->i_flags |= (S_NOCMTIME); | 105 | inode->i_flags |= (S_NOCMTIME); |
| 106 | 106 | ||
| 107 | inode->i_uid = current_fsuid(); | 107 | inode_init_owner(inode, dir, mode); |
| 108 | if (dir->i_mode & S_ISGID) { | ||
| 109 | inode->i_gid = dir->i_gid; | ||
| 110 | if (S_ISDIR(mode)) | ||
| 111 | mode |= S_ISGID; | ||
| 112 | } else | ||
| 113 | inode->i_gid = current_fsgid(); | ||
| 114 | inode->i_mode = mode; | ||
| 115 | inode->i_mtime = inode->i_atime = inode->i_ctime = | 108 | inode->i_mtime = inode->i_atime = inode->i_ctime = |
| 116 | ubifs_current_time(inode); | 109 | ubifs_current_time(inode); |
| 117 | inode->i_mapping->nrpages = 0; | 110 | inode->i_mapping->nrpages = 0; |
diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c index 77d5cf4a754..bcf5a16f30b 100644 --- a/fs/ubifs/io.c +++ b/fs/ubifs/io.c | |||
| @@ -64,6 +64,7 @@ void ubifs_ro_mode(struct ubifs_info *c, int err) | |||
| 64 | if (!c->ro_media) { | 64 | if (!c->ro_media) { |
| 65 | c->ro_media = 1; | 65 | c->ro_media = 1; |
| 66 | c->no_chk_data_crc = 0; | 66 | c->no_chk_data_crc = 0; |
| 67 | c->vfs_sb->s_flags |= MS_RDONLY; | ||
| 67 | ubifs_warn("switched to read-only mode, error %d", err); | 68 | ubifs_warn("switched to read-only mode, error %d", err); |
| 68 | dbg_dump_stack(); | 69 | dbg_dump_stack(); |
| 69 | } | 70 | } |
