FUJITA Tomonori wrote:
I don't think any functions in linux/os.c is a fast-path call. I really don't think that making sync_file_range inline affects the performance.
OK, let it be. As for fast path, sync_fine_range is called from
bs_rdwr_request() but I wasn't sure what is the exact condition for
doing so, should it be done for each write?
case WRITE_6:
case WRITE_10:
case WRITE_12:
case WRITE_16:
length = scsi_get_out_length(cmd);
ret = pwrite64(fd, scsi_get_out_buffer(cmd), length,
cmd->offset);
if (ret == length) {
/*
* it would be better not to access to pg
* directy.
*/
struct mode_pg *pg = cmd->dev->mode_pgs[0x8];
if (((cmd->scb[0] != WRITE_6) && (cmd->scb[1] & 0x8)) ||
!(pg->mode_data[0] & 0x04))
bs_sync_sync_range(cmd, length, &result, &key,
&asc);
} else
set_medium_error(&result, &key, &asc);
As I suggested, we compile bs_aio.o only with Linux. It makes sense because bs_aio is Linux specific AIO code.
OK, understood.
Or
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html