fs: fat: don't call disk_write with zero sector num
In the set_cluster() function, it will convert the buffer size to sector numbers. Then call disk_write() to write by sector. For remaining buffer, the size is less than a sector, call disk_write() again to write them in one sector. But if the total buffer size is less then one sector, the original code will call disk_write() with zero sector number. It is unnecessary. So this patch fix this. Now it will not call disk_write() if total buffer size is less than one sector. Signed-off-by: Josh Wu <josh.wu@atmel.com>
This commit is contained in:
parent
7ea50d5284
commit
6b8f185faf
@ -552,9 +552,11 @@ set_cluster(fsdata *mydata, __u32 clustnum, __u8 *buffer,
|
||||
|
||||
debug("clustnum: %d, startsect: %d\n", clustnum, startsect);
|
||||
|
||||
if (disk_write(startsect, size / mydata->sect_size, buffer) < 0) {
|
||||
debug("Error writing data\n");
|
||||
return -1;
|
||||
if ((size / mydata->sect_size) > 0) {
|
||||
if (disk_write(startsect, size / mydata->sect_size, buffer) < 0) {
|
||||
debug("Error writing data\n");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (size % mydata->sect_size) {
|
||||
|
Loading…
Reference in New Issue
Block a user