From: Jeremy Allison <jra@samba.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>,
Jeremy Allison <jra@samba.org>,
Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [2.6] smbfs & "du" illness
Date: Sat, 25 Sep 2004 10:11:04 -0700 [thread overview]
Message-ID: <20040925171104.GN580@jeremy1> (raw)
In-Reply-To: <Pine.LNX.4.58.0409250929030.2317@ppc970.osdl.org>
On Sat, Sep 25, 2004 at 09:41:59AM -0700, Linus Torvalds wrote:
>
> I hate to say so, but Jeremy is a git in this case.
Thanks, I prefer POSIX fascist myself :-).
> And yes, that's a _fixed_ blocksize. When you use "stat()", and you look
> at "st_blocks", it's ALWAYS in 512-byte entities. It doesn't matter that
> "st_blksize" might be something else - when UNIX counts blocks, it counts
> them in 512-byte chunks.
st_blocks and st_blksize are not in the POSIX spec
(I have one on my desk, and stroke it occasionally :-)
Besides which, on HPUX (which these extensions were
first created for) it returns st_blocks in 8192 byte
units, not 512, so your claim is incorrect.
That's why I got so pissed with the extensions spec
as it didn't specify a unit size. Rather an assume
"all the world is 512" which is plainly wrong, I
decided to make it a unit of bytes on the wire.
The client can then return in the correct blocksize
for it's own system.
> I'm claiming that samba is broken, and we should not try to fix it on the
> client side. We should ask the samba people to get their act together.
> They've apparently been able to put _two_ bugs in one single integer:
> both messing up the block size _and_ then using a totally illogical
> minimum value for the thing.
Well the minimum value is for Windows clients. They go a *lot*
faster with the minimum value as it tweaks some of their internal
buffers when they allocate. You can parameterize it (admittedly at
compile time, not runtime). I can make it runtime parameterized
in a later smbd if you want.
The CIFS client needs to divide the value returned by 512, or
whatever blocksize is being used on the UNIX clients. When
we have a 64-bit space it makes sense to return the absolute
bytes and let the client return it to userspace in whatever blocksize
it wants.
> I bet the minimum value comes from the fact that all files end up using
> "n" bytes for things like inodes etc. Let's make up some numbers, and
> assume that somebody thought that the minimum disk-space used was 2kB.
> Instead of dividing that by 512, and coming up with the value "4", they
> multiplied it by the block size and came up with the value 1Mb.
Nope. We have strange reasons for things, but they're usually
not *that* strange.
> Whatever the reason, the minimum size is clearly a samba bug, even if you
> were to (incorrectly, Jeremy) claim that there is no standard blocksize.
It's a Samba *feature* :-). But I agree for UNIX/Linux clients
it doesn't make much sense.
Jeremy.
next prev parent reply other threads:[~2004-09-25 17:11 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-17 20:54 Samuel Thibault
2004-09-25 16:41 ` Linus Torvalds
2004-09-25 17:11 ` Jeremy Allison [this message]
2004-09-25 17:14 ` Jeremy Allison
2004-09-25 17:41 ` YOSHIFUJI Hideaki / 吉藤英明
[not found] ` <20040925174406.GP580@jeremy1>
2004-09-25 18:06 ` Linus Torvalds
2004-09-25 18:12 ` Linus Torvalds
2004-09-25 18:20 ` Jeremy Allison
2004-09-25 18:25 ` Samuel Thibault
2004-09-25 18:32 ` Jeremy Allison
2004-09-25 19:16 ` Linus Torvalds
2004-09-25 19:22 ` Jeremy Allison
2004-09-25 19:27 ` Samuel Thibault
2004-09-25 18:29 ` Jeremy Allison
2004-09-25 18:31 ` Jeremy Allison
2004-09-25 19:20 ` Linus Torvalds
2004-09-25 19:25 ` Jeremy Allison
2004-09-25 19:52 ` Jeremy Allison
2004-09-25 20:21 ` Linus Torvalds
2004-09-25 21:10 ` Jeremy Allison
2004-09-25 21:59 ` Linus Torvalds
2004-09-25 22:08 ` Jeremy Allison
2004-09-25 22:18 ` Linus Torvalds
2004-09-25 22:23 ` Jeremy Allison
2004-09-25 22:40 ` Samuel Thibault
2004-09-26 0:41 ` Theodore Ts'o
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040925171104.GN580@jeremy1 \
--to=jra@samba.org \
--cc=linux-kernel@vger.kernel.org \
--cc=samuel.thibault@ens-lyon.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®