Commit 0411e735 authored by Artem Bityutskiy's avatar Artem Bityutskiy
Browse files

UBI: do not change file pointer while updating



Since we do not change semantics of seek(), changing the file
pointer while updating does not make much sense.

Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent 91f2d53c
Loading
Loading
Loading
Loading
+1 −3
Original line number Original line Diff line number Diff line
@@ -368,6 +368,7 @@ static ssize_t vol_cdev_write(struct file *file, const char __user *buf,
		 */
		 */
		count = err;
		count = err;


		vol->updating = 0;
		err = ubi_check_volume(ubi, vol->vol_id);
		err = ubi_check_volume(ubi, vol->vol_id);
		if (err < 0)
		if (err < 0)
			return err;
			return err;
@@ -382,7 +383,6 @@ static ssize_t vol_cdev_write(struct file *file, const char __user *buf,
		revoke_exclusive(desc, UBI_READWRITE);
		revoke_exclusive(desc, UBI_READWRITE);
	}
	}


	*offp += count;
	return count;
	return count;
}
}


@@ -430,8 +430,6 @@ static int vol_cdev_ioctl(struct inode *inode, struct file *file,
		err = ubi_start_update(ubi, vol->vol_id, bytes);
		err = ubi_start_update(ubi, vol->vol_id, bytes);
		if (bytes == 0)
		if (bytes == 0)
			revoke_exclusive(desc, UBI_READWRITE);
			revoke_exclusive(desc, UBI_READWRITE);

		file->f_pos = 0;
		break;
		break;
	}
	}


+0 −1
Original line number Original line Diff line number Diff line
@@ -343,7 +343,6 @@ int ubi_more_update_data(struct ubi_device *ubi, int vol_id,
		if (err == 0) {
		if (err == 0) {
			err = to_write;
			err = to_write;
			vfree(vol->upd_buf);
			vfree(vol->upd_buf);
			vol->updating = 0;
		}
		}
	}
	}