[sugj-tech:6914] Re: [samba-jp:20373] 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.jp と sugj-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武豊線使用)
-- 〜 みんなで幸せになろうよ。。。〜
--
sugj-tech メーリングリストの案内