[samba-jp:20376] Re: ファイル生成時刻の扱いについて

KAWASUMI Junji touchan @ papa-net.bpl.jp
2008年 8月 31日 (日) 14:16:37 JST


かわすみです

> # そういえば、これは sugj-tech 向けな話題のような気がする…。
> # http://cgi.samba.gr.jp/mailman/listinfo/sugj-tech
> # たまには思い出して使ってやってください。
了解しました。(2007/09以降活動していない様なので、ちょっと躊躇
してました)

それでは、以降 sugj-tech上でお願いします。
一応本メ−ルは、samba-jp @ samba.gr.jpsugj-tech @ samba.gr.jp の
両方に送付します。

On Fri, 29 Aug 2008 11:34:00 +0900
SATOH Fumiyasu <fumiyas @ osstech.jp> wrote:

> さとうふみやす @ OSS テクノロジです。
> # そういえば、これは sugj-tech 向けな話題のような気がする…。
> # http://cgi.samba.gr.jp/mailman/listinfo/sugj-tech
> # たまには思い出して使ってやってください。
> 
> Samba Git リポジトリの Samba 3.2 とそれ以降のヘッドブランチに
> st_birthtime* への対応コードが入り始めました。
> 
>   http://gitweb.samba.org/?p=samba.git;a=commit;h=0cba30073410ba499834ac26dee3f81a75c8de4f
> 
> 怪しい英語で軽く突っ込んでおきました
> 
>   http://lists.samba.org/archive/samba-technical/2008-August/061041.html
> 
> At Wed, 13 Aug 2008 19:26:35 +0900,
> Takashi SHIRAI wrote:
> > >   * birthtime と birthtimensec が両方とも 0 
> > >   * birthtime が (time_t)-1
> > >   * birthtimensec が -1L
> > 
> >  そもそも st_birthtimensec は見る必要あるのかなぁと思ってる
> > んですがどうでしょう?nsec 値が条件を左右するのは下記のケー
> > スになりますよね。
> 
> ファイルシステムが birthtime 未対応の場合を表わすのに、
> bithtimensec を -1L にするのが一番妥当だと考えたからです。
> それと、birthtime をサポートする先進的(?)な OS であれば、
> 当然 birthtimensec もサポートするだろう、という勝手な妄想です。:-)
> 
> ほかの条件も列挙したのは、先のメールで紹介した
> http://www.nabble.com/birthtime-initialization-td18584558.html
> にあるように、この辺りの仕様が確定していないようなので、
> あれだけの条件を挙げないと実際のシステムで使えないかなと
> 思ったからです。
> 
> 今考えると st_birthtime が 0 か -1 の場合に無視するだけで
> 概ね大丈夫だろうしコードがシンプルなのでいいかと思ってます。
> 
> 何はともあれ、それほど深く考えていないので、突っ込みどころ
> 満載なのはご容赦を。(いいわけ)
> 
> > 1.st_birthtimensec = -1 かつ st_birthtime != -1 の場合
> > 2.st_birthtime = 0 かつ st_birthtimensec != 0 の場合
> >  これ以外のケースでは st_birthtime のみを判断基準にすれば十
> > 分ですから。
> > 
> >  1. のケースは余り考えにくいのですが、もしあり得るとしたら
> > この st_birthtime は何を指しているんでしょうか?無視してしま
> > って本当に構わない?
> >  例えば分解能の問題で 1sec 未満の値が取得出来ない環境では、
> > nsec 値のみ無視して欲しいという意味で st_birthtimensec のみ
> > -1 にしてしまうという状況は無いんでしょうかね。
> 
> そういう場合は st_birtimenesec は 0 にするだろうと
> 思い込んでいましたが、-1 を設定する(ことで nsec 未対応を
> 明示するんですよね?) という仕様も考えられなくはないですねぇ。
> 私はその仕様は嫌だけど。
> 
> >  2. のケースは epoch に極めて近い time stamp で、このレアケ
> > ースを救済するのが目的だと思いますが、現実的にはそこまで拘る
> > 必要もないかと感じます。
> >  そもそもこの辺りの time stamp 値は UNIX 的には valid でも
> > Windows 的には invalid (MS-DOS epoch: 1980/1/1) なので、救済
> > しても仕方ないんじゃないでしょうかね?
> 
> それは知らなかったです。確かに意味がないかも。
> 
> > > >  nsec 値そのものは不要であるという点に関しては誰も異論ない
> > > > と思いますよ。
> > > 
> > > Windows (SMB?) のファイルの時刻精度は 100ns みたいですから、
> > > 不要ってことはないですね。
> > 
> >  んー、でも件の patch を当てた箇所の関数は time_t を返すの
> > で、nsec 値を使おうとしたらもっと抜本的な改造が必要になりま
> > すよ。
> 
> もちろん、ほかの修正が必要なことはわかってますよ。:-)
> 
> -- 
> -- Name: SATOH Fumiyasu (fumiyas @ osstech co jp)
> -- Business Home: http://www.OSSTech.co.jp/
> -- Personal Home: http://www.SFO.jp/blog/
> 


-- 
--  川澄 淳治
--  KAWASUMI Junji <touchan@papa-net.bpl.jp>
--  愛知県知多郡在住 (JR武豊線使用)
--   〜 みんなで幸せになろうよ。。。〜
--



samba-jp メーリングリストの案内