RM: > I do not understand - why in some cases with smaller block writing > block twice could be actually faster than doing it once every time? > I definitely am missing something here...
In addition to what Neil said, I want to add that when an application O_DSYNC write cover only parts of a file record you have the choice of issuing a log I/O that contains only the newly written data or do a full record I/O (using the up-to-date cached record) along with a small log I/O to match. So if you do 8K writes to a file stored using 128K records, you truly want each 8K writes to go to the log and then every txg, take the state of a record and I/O that. You certainly don't want to I/O 128K every 8K writes. But then if you do a 100K write, it's not as clear a win. Should I cough up the full 128K I/O now, hoping that the record will not be modified further before the txg clock hits ? That's part of what goes into zfs_immediate_write_sz. And even for full record writes, there are some block allocation issues that come into play and complicates things further. -r _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss