0 bytes sized file can't be written to a HAMMER partition

Matthew Dillon dillon at apollo.backplane.com
Tue Jun 10 11:24:52 PDT 2008


:> It looks like the code should be changed to:
:> 
:> if (uio->uio_offset < 0 || uio->uio_offset + uio->uio_resid < 0) {
:>        hammer_done_transaction(&trans);
:>        return (EFBIG);
:> }
:
:Applying that change the issue I'm able to copy zero-bytes sized files 
:to a HAMMER partition:
:
:master# touch /tmp/qq && cp /tmp/qq /datapool/
:master# ls -l /datapool/qq
:-rw-r--r--  1 root  wheel  0 Jun 10 19:43 /datapool/qq
:master# mount |grep datapool
:datapool on /datapool (hammer, local)
:
:Thank you
:Antonio Huete

    I'll commit the fix.  It needs one slight modification though because
    changing that '<=' to '<' allows a wrap case to get past when
    uio_resid != 0.

						-Matt







More information about the Kernel mailing list