From: Miklos S. <mi...@sz...> - 2013-10-14 14:26:50
|
On Mon, Oct 14, 2013 at 4:16 PM, Lukáš Kvídera <kvi...@st...> wrote: > This command is ok. > > write[140290006456912] 131072 bytes to 0 flags: 0x8001 > write[140290006456912] 131072 bytes to 0 > unique: 31, success, outsize: 24 > unique: 32, opcode: WRITE (16), nodeid: 2, insize: 131152 > write[140290006456912] 131072 bytes to 131072 flags: 0x8001 > write[140290006456912] 131072 bytes to 131072 > unique: 32, success, outsize: 24 > > > So the problem is in applications above? Sort of. Normally the kernel buffers writes, and so the size of the write doesn't make much difference, which is why application sometimes choose a smaller than optimal size. Another possible reason is that some applications honor st_blksize, which is supposed to be the optimal I/O size. You can try tuning this in your fuse filesystem. Maxim Patlasov is currently working on a patchset to enable write buffering for fuse, which will make this issue go away. Thanks, Miklos |