詳解ファイルシステム - smbfs(cifs)
FrontPage

詳解cifs

cifsとは

Common Internet File System~
Windowsのファイル共有サービスで利用されているプロトコルの~
「SMB」を拡張し公開(2002年)したため、Sambaでファイル共有が可能。~
CIFSはTCP/IPで通信している。~

CIFSはWindows 2000(Windows 2003、Windows XPを含む)~
Sambaによって同様なネットワークプロトコルを用いているので、~
ネットワークファイルシステムクライアントは多種多様なサーバー~
のファイルシステムを共有することが可能です。~
SMB/CIFSファイルサーバはどんなファイルサーバでも動作するように~
設計されています。~
質問はAndrew Tridgellさんに。。。~

smbfsとcifsモジュールは、共存することができて、衝突しません。~
http://us1.samba.org/samba/Linux_CIFS_client.html
http://www.snia.org/tech_activities/CIFS
http://www.samba.org/
http://www.samba.gr.jp/

@ITの記事
ファイル共有プロトコルSMB/CIFS(その1〜3)
http://www.atmarkit.co.jp/fwin2k/network/baswinlan...
http://www.atmarkit.co.jp/fwin2k/network/baswinlan...
http://www.atmarkit.co.jp/fwin2k/network/baswinlan...
~

cifsの使い方詳解

※カーネル2.6での説明です。~

kernel config
CONFIG_SMB_FS=m        #smbサーバとして使用するならモジュール(m)かカーネル組み込み(y)
CONFIG_SMB_NLS_DEFAULT=y   #smbmountを使うのであればy
CONFIG_SMB_NLS_REMOTE="cp437" #デフォルトのキャラセット
CONFIG_CIFS=m         #CIFSを使うのであればモジュール(m)かカーネル組み込み(y)
CONFIG_CIFS_STATS=y      #統計情報表示
CONFIG_CIFS_STATS2=y     #より高度な統計情報表示(debug)(不安ならN)
CONFIG_CIFS_XATTR=n      #ACL(アクセス制限)を実装可能(不安ならN)
CONFIG_CIFS_POSIX=n      #Samba 3.10との組み合わせで、POSIX_ACL(アクセス制限)を実装可能(不安ならN)
CONFIG_CIFS_EXPERIMENTAL=y  #writepagesの実装。実験段階だが、性能向上の可能性有り
CONFIG_CIFS_UPCALL=n     #Kerberos認証の使用の有無(不安ならN)

マウント方法

For Linux 2.4:
mount //anything/here /mnt_target -o user=username,pass=password,unc=//ip_address_of_server/sharename

For Linux 2.6:
mount //ip_address_of_server/sharename /mnt_target -o user=username, pass=password

cifs諸元の詳解

最大ファイルシステムサイズ
最大ファイルサイズ
最大ファイル数
ディレクトリ最大作成数
ファイルの作成
ファイルへの書き込み
ファイルからの読み込み
ファイルの削除
ディレクトリの作成
ディレクトリからの読み込み
ディレクトリの削除
シンボリックリンク
スペシャルファイル
クォータ
NFSエクスポート
sparse file
マウント
アンマウント
非同期I/O
キャッシュ
SELinux

linux2.6.16-rc5/Documentation/filesystems/cifs.txt~

cifs性能の詳解

cifsI/O動作の詳解

cifsの各種登録関数一覧

システムコールの関数呼び出し関係
super_operations
alloc_inode
destroy_inode
read_inode
dirty_inode
write_inode
put_inode
drop_inode
delete_inode
put_super
write_super
sync_fs
write_super_lockfs
unlockfs
statfs
remount_fs
clear_inode
umount_begin
show_options
quota_read
quota_write
file_operations
llseek
read
aio_read
write
aio_write
readdir
poll
ioctl
unlocked_ioctl
compat_ioctl
mmap
open
flush
release
fsync
aio_fsync
fasync
lock
readv
writev
sendfile
sendpage
get_unmapped_area
check_flags
dir_notify
flock
inode_operations
create
lookup
link
unlink
symlink
mkdir
rmdir
mknod
rename
readlink
follow_link
put_link
truncate
permission
setattr
getattr
setxattr
getxattr
listxattr
removexattr
address_space_operations
writepage
readpage
sync_page
writepages
set_page_dirty
prepare_write
commit_write
bmap
invalidatepage
releasepage
direct_IO