Separation into 4K buffers to be written to the disk
I was recently working on a project in my college where i had modified the write system call. What i observed was that the data buffer that was to be written to the disk, is of size 32K at the max. Kernel version: 2.6.35
The block size on the file system (EXT3) which i was working on was 4K. When i traced the call, i could not find a point where the buffer is actually split into 4K chunks. Is it done when the 4k pages (that would be written) are flushed to the disk? Kindly help me with this.
Would be great if anyone could tell me about the secret behind the 32K sized buffer. I mean why 32K?
Thanks in advance,