0 bytes sized file can't be written to a HAMMER partition
Jonathan Stuart
jstuart at vmware.com
Tue Jun 10 21:58:20 PDT 2008
Cool -- my first Dfly contribution (in my favorite part of a Unix[-like] OS, the kernel).
Albeit it's a 1 byte change, it still fixes some very common use cases.
Regards,
Jon
________________________________________
From: kernel-errors at crater.dragonflybsd.org [kernel-errors at crater.dragonflybsd.org] On Behalf Of Matthew Dillon [dillon at apollo.backplane.com]
Sent: Tuesday, June 10, 2008 11:20 AM
Subject: Re: 0 bytes sized file can't be written to a HAMMER partition
:> 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