public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Allison <jra@samba.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: "Jeremy Allison" <jra@samba.org>,
	"YOSHIFUJI Hideaki / 吉藤英明" <yoshfuji@linux-ipv6.org>,
	samuel.thibault@ens-lyon.org, linux-kernel@vger.kernel.org
Subject: Re: [2.6] smbfs & "du" illness
Date: Sat, 25 Sep 2004 11:20:21 -0700	[thread overview]
Message-ID: <20040925182021.GR580@jeremy1> (raw)
In-Reply-To: <Pine.LNX.4.58.0409251108570.2317@ppc970.osdl.org>

On Sat, Sep 25, 2004 at 11:12:04AM -0700, Linus Torvalds wrote:
> 
> Btw, if you want to send bytes instead of blocks, I don't care. The Linux 
> client can easily do
> 
> 	blocks = bytes >> 9;
> 
> and I'll be perfectly happy.

Good - that's all that needs doing.

> But if the "bytes" count you send has no
> actual real-life meaning (ie it didn't actually come from the underlying
> filesystem at all), then don't bother. The client might as well do
> 
> 	blocks = (filesize + 511) >> 9;
> 
> if that's what the server is (badly) mangling.

No, the number does have real life meaning if the underlying
OS supports st_blocks and st_blksize. We test for the presense
of these in configure (as they're not POSIX) and send the
correct values as bytes if they are there. We (smbd) takes care
of scaling them into bytes instead of the client having to
know if it's talking to HPUX in which case it's in 8192
byte units, or to VOS etc. etc.

To recap, if we have st_blocks from the filesystem we use it
and send the value scaled as bytes, if not we send the actual
file size there in bytes (as we know any POSIX system has at
least that).

Happy ?

Jeremy.

  reply	other threads:[~2004-09-25 18:21 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-17 20:54 [2.6] smbfs & "du" illness Samuel Thibault
2004-09-25 16:41 ` Linus Torvalds
2004-09-25 17:11   ` Jeremy Allison
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 [this message]
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=20040925182021.GR580@jeremy1 \
    --to=jra@samba.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=torvalds@osdl.org \
    --cc=yoshfuji@linux-ipv6.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