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