diff options
| author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2008-12-23 07:39:14 -0500 |
|---|---|---|
| committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2008-12-31 07:13:25 -0500 |
| commit | a9f2fc0e251e71a51deb8059b181c375a4a5e979 (patch) | |
| tree | cc4869e8325cf898554b05cc747c48b9d8ded800 | |
| parent | f92b982680e4b4149c559789a54e1e9db190752a (diff) | |
UBIFS: fix writing uncompressed files
UBIFS does not disable compression if ui->flags is non-zero, e.g.
if the file has "sync" flag. This is because of the typo which
is fixed by this patch. The patch also adds a couple of useful
debugging prints.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| -rw-r--r-- | fs/ubifs/ioctl.c | 2 | ||||
| -rw-r--r-- | fs/ubifs/journal.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/fs/ubifs/ioctl.c b/fs/ubifs/ioctl.c index 5e82cffe9695..6db7a6be6c97 100644 --- a/fs/ubifs/ioctl.c +++ b/fs/ubifs/ioctl.c | |||
| @@ -154,6 +154,7 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | |||
| 154 | case FS_IOC_GETFLAGS: | 154 | case FS_IOC_GETFLAGS: |
| 155 | flags = ubifs2ioctl(ubifs_inode(inode)->flags); | 155 | flags = ubifs2ioctl(ubifs_inode(inode)->flags); |
| 156 | 156 | ||
| 157 | dbg_gen("get flags: %#x, i_flags %#x", flags, inode->i_flags); | ||
| 157 | return put_user(flags, (int __user *) arg); | 158 | return put_user(flags, (int __user *) arg); |
| 158 | 159 | ||
| 159 | case FS_IOC_SETFLAGS: { | 160 | case FS_IOC_SETFLAGS: { |
| @@ -176,6 +177,7 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | |||
| 176 | err = mnt_want_write(file->f_path.mnt); | 177 | err = mnt_want_write(file->f_path.mnt); |
| 177 | if (err) | 178 | if (err) |
| 178 | return err; | 179 | return err; |
| 180 | dbg_gen("set flags: %#x, i_flags %#x", flags, inode->i_flags); | ||
| 179 | err = setflags(inode, flags); | 181 | err = setflags(inode, flags); |
| 180 | mnt_drop_write(file->f_path.mnt); | 182 | mnt_drop_write(file->f_path.mnt); |
| 181 | return err; | 183 | return err; |
diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c index 3b0fa704d559..10ae25b7d1db 100644 --- a/fs/ubifs/journal.c +++ b/fs/ubifs/journal.c | |||
| @@ -704,7 +704,7 @@ int ubifs_jnl_write_data(struct ubifs_info *c, const struct inode *inode, | |||
| 704 | data->size = cpu_to_le32(len); | 704 | data->size = cpu_to_le32(len); |
| 705 | zero_data_node_unused(data); | 705 | zero_data_node_unused(data); |
| 706 | 706 | ||
| 707 | if (!(ui->flags && UBIFS_COMPR_FL)) | 707 | if (!(ui->flags & UBIFS_COMPR_FL)) |
| 708 | /* Compression is disabled for this inode */ | 708 | /* Compression is disabled for this inode */ |
| 709 | compr_type = UBIFS_COMPR_NONE; | 709 | compr_type = UBIFS_COMPR_NONE; |
| 710 | else | 710 | else |
