The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпущен Oracle Solaris 11 Express, opennews (?), 15-Ноя-10, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


9. "Выпущен Oracle Solaris 11 Express"  +5 +/
Сообщение от pavlinux (ok), 16-Ноя-10, 00:07 
>>> собственная реализация протокола CIFS;
>> Да ладно гнать, из Линуха выдрали.
> то-то в линухе Самба используется..

Я уж не знаю что и ответить.

"- Дорогая, у тебя на ноутбуке IP адрес настроен?
- Да любимый, и ICQ тоже есть"  

Ответить | Правка | Наверх | Cообщить модератору

12. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ононим (?), 16-Ноя-10, 01:19 
кстати, кто объяснит разницу между линуксовым ядерным CIFS и простым samba-пакетом. заделитесь ссылочкой, если не сложно.
Ответить | Правка | Наверх | Cообщить модератору

14. "Выпущен Oracle Solaris 11 Express"  +2 +/
Сообщение от pavlinux (ok), 16-Ноя-10, 02:46 
> кстати, кто объяснит разницу между линуксовым ядерным CIFS и простым samba-пакетом. заделитесь
> ссылочкой, если не сложно.

Ну как бы они не должны отличаться, по этому и назвали протокол - заранее обговорённый
набор правил и условий. Иначе коннекта не будет. То есть, на сетевом уровне они равны,
разница есть на прикладном уровне, типа авторизация, права, атрибуты, статистика и т.д.  

Чуть подробнее тут: http://pserver.samba.org/samba/ftp/cifs-cvs/linux-cifs-clien... (PDF 145k )

Differences between cifs and the older Linux client smbfs

In versions of the Linux kernel prior to 2.6, an older implementation of an SMB/CIFS client, smbfs was
used which will be deprecated starting in Linux kernel 2.6.20. The newer cifs virtual filesystem
introduced various new features, but also introduced some changes which can be confusing for former
smbfs users. Some commonly encountered differences include:

1) configuration
Unlike smbfs and smbclient, configuration for the cifs vfs does not depend on smb.conf. CIFS
configuration is done using /proc (modifying pseudofiles in /proc/fs/cifs) and by specifying module
install parameters (module options passed to /sbin/insmod or modprobe). In addition the cifs vfs does
not use the Samba utilities smbmnt or smbmount as smbfs did. Most of the cifs vfs is implemented in
kernel, although cifs vfs has a small userspace mount helper (mount.cifs)

2) mount syntax:
mounting to older servers (those prior to1997) may require specifying two additional fields beyond
those which smbfs required:
   a) The server's netbios (RFC1001) name AND the server's tcp (or ip ) address. CIFS does not
assume, as smbfs did, that the tcp name and the netbios name of the server are the same. The netbios
name of the server is specified by passing the mount option “servern=SERVERNAME” and is not
assumed to be necessarily the same as the tcp name of the server (also note that the netbios name is
usually capitalized). Both tcp/ip name and netbios name have to be specified for mounts for most old
lanman servers. For example:
mount -t cifs //tcp-name-of-server/sharename /mnt -o user=username,sec=lanman,servern=SERVERNAME
   b) A security option allowing weaker password hashes to be used. Specifying “sec=lanman” in the
mount options allows the client to send weaker lanman hashes to the server. Older servers such as
Windows 98 require this.
Mounting to more current servers with stronger authentication (ntlmv2) typically requires an additional
mount option (unless the security flags are changed in /proc/fs/cifs) “sec=ntlmv2”

3) Default UID/GID/mode for remote files
For mounts to servers which can report uids and gids (the number representing the user and group
names) such as Samba server, it may be necessary to disable the unix extensions if uids and gids do
not match between cifs client and Samba server. For servers which do not support Unix modes directly
(e.g. Most versions of Windows), the default mode for files differs from that reported by smbfs. The
default mode can be overridden by mount options “file_mode” and “dir_mode”for these server types.

Ответить | Правка | Наверх | Cообщить модератору

15. "Выпущен Oracle Solaris 11 Express"  –1 +/
Сообщение от pavlinux (ok), 16-Ноя-10, 03:05 
> кстати, кто объяснит разницу между линуксовым ядерным CIFS и простым
> samba-пакетом.

чуть не забыл, в ядре только клиент  :)

Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

28. "Выпущен Oracle Solaris 11 Express"  –1 +/
Сообщение от Anon Y Mous (?), 16-Ноя-10, 13:07 
> чуть не забыл, в ядре только клиент  :)

Наконец-то до тебя доперло. В соляре в ядре не только клиент, но и сервер, что я, собственно, и имел ввиду. Ну а из линукса или нет там клиент - это ты можешь легко проверить, посмотрев на http://src.opensolaris.org

Ответить | Правка | Наверх | Cообщить модератору

31. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от pavlinux (ok), 16-Ноя-10, 14:12 
>> чуть не забыл, в ядре только клиент  :)
> Наконец-то до тебя доперло. В соляре в ядре не только клиент, но и сервер,

Очень интересно, как же ядро рулит учётные записи, расширенные атрибуты, да и просто, сохраняет файлы???  :)


Ответить | Правка | Наверх | Cообщить модератору

37. "Выпущен Oracle Solaris 11 Express"  –1 +/
Сообщение от Anon Y Mous (?), 16-Ноя-10, 19:19 
> Очень интересно, как же ядро рулит учётные записи, расширенные атрибуты, да и просто, сохраняет файлы???  :)

Ну для NFS'а же оно как-то рулит.. Чем CIFS принципиально отличается? Или ты хочешь сказать, что в линуксе и NFS в юзерленде работает?

Ответить | Правка | Наверх | Cообщить модератору

40. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 16-Ноя-10, 20:00 
вау! не знал что в ядро соляры уже и мэпинг uid - sid встроили (типа так http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/i... )
а заодно и лдап с цербером и пр.

да демон это просто. запускается так:
svcadm enable -r smb/server
понадобился саням для вот таких плюшек:
zfs set sharesmb=name=cifs0 tank/cifs0
вот отличная инфа - http://wikis.sun.com/pages/viewpage.action?pageId=173213266
и в частности это - http://wiki.genunix.org/wiki/index.php/Getting_Started_With_...
Install the Solaris CIFS service packages.
# pkgadd -d mount-point/Solaris_11/Product SUNWsmbskr SUNWsmbsr SUNWsmbsu

Ответить | Правка | Наверх | Cообщить модератору

42. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от pavlinux (ok), 16-Ноя-10, 20:50 
>> Очень интересно, как же ядро рулит учётные записи, расширенные атрибуты, да и просто, сохраняет файлы???  :)
> Ну для NFS'а же оно как-то рулит.. Чем CIFS принципиально отличается? Или
> ты хочешь сказать, что в линуксе и NFS в юзерленде работает?

nfsd

http://nfs.sourceforge.net/nfs-howto/ar01s03.html

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

48. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 16-Ноя-10, 23:19 
>>> Очень интересно, как же ядро рулит учётные записи, расширенные атрибуты, да и просто, сохраняет файлы???  :)
>> Ну для NFS'а же оно как-то рулит.. Чем CIFS принципиально отличается? Или
>> ты хочешь сказать, что в линуксе и NFS в юзерленде работает?
> nfsd
> http://nfs.sourceforge.net/nfs-howto/ar01s03.html

Не хочешь ли ты сказать, что поддержку NFS из ядра выкинули? Или что ты, имея поддержку NFS в ядре, предпочитаешь использовать юзерлендовый NFSD?

Ответить | Правка | Наверх | Cообщить модератору

50. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 01:24 
речь идет только о том, что часть функциональности перенесли из юзер-спейса в кернел-спейс.
это помогает интегрироваться с другими плюшками ядра, не более.
к примеру поддержка ррр тоже есть в ядре, но запускать в юзерспейсе pppd таки приходится.
поэтому "сервер в ядре" - это технически не верно.
зато верно для маркетинга.
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 03:08 
> речь идет только о том, что часть функциональности перенесли из юзер-спейса в
> кернел-спейс.

Некислую такую часть функциональности, заметим.

> это помогает интегрироваться с другими плюшками ядра, не более.

Не только. Это помогает получать лучшую производительность, ибо нет необходимости прыгать туда-сюда между ядром и юзерлендом.

> поэтому "сервер в ядре" - это технически не верно.
> зато верно для маркетинга.

Может стоит все-таки хотя бы одним глазом взглянуть на солярисную реализацию, прежде чем делать такие утверждения?

Ответить | Правка | Наверх | Cообщить модератору

58. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 03:50 
ха! а прыгать приходится все равно. это таки сетевая (со всеми вытекающими плюшками) фс, да еще и не родная, где уиды надо мапировать с сидами и т.д.
не говоря об ограничении самого протокола.
а вообще см. ниже уже ответил (по вашим исходникам).
демон в юзерспейсе. и все данные идут через него, через юзерспейс.
Ответить | Правка | Наверх | Cообщить модератору

59. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 03:56 
помогу, вот тут собсно ответ
http://www.opennet.ru/openforum/vsluhforumID3/72542.html#57
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

62. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 12:10 
> демон в юзерспейсе. и все данные идут через него, через юзерспейс.

Предлагаю показать на конкретное место в юзерспейсе, через которое идут данные. Жду с нетерпением.

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

66. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 12:48 
не превращайтесь уже в банального тролля. умейте признавать свою неправоту.
ссылка выше на код и схему (для таких троллей. не иначе) предоставлена.
в схеме четко указаны изменения в ядре - а это интеграция с doors и zfs. и все.
все данные и весь ввод-вывод идет только через демон в юзерспейсе (привет переклчениям контекста и двойной буферизации).
очевидно, что все изменения - это попытка натянуть cifs на солярный vfs+zfs.
в линухе этот же код был бы как мертвому припарки - там нет ни дорс, ни zfs, а btrfs (в отличии от zfs) не требует изменения в vfs, так как и так отлично ложится на имеющуюся функциональность.
Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

68. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 13:25 
> не превращайтесь уже в банального тролля. умейте признавать свою неправоту.

Я свою правоту вполне умею признавать, когда неправ.

> ссылка выше на код и схему (для таких троллей. не иначе) предоставлена.

Как говорится, чья бы корова мычала..

> в схеме четко указаны изменения в ядре - а это интеграция с
> doors и zfs. и все.
> все данные и весь ввод-вывод идет только через демон в юзерспейсе (привет
> переклчениям контекста и двойной буферизации).

В данном случае я бы все-таки хотел увидеть место в юзерлендовом smbd, через которое идет весь ввод-вывод.

> очевидно, что все изменения - это попытка натянуть cifs на солярный vfs+zfs.
> в линухе этот же код был бы как мертвому припарки - там
> нет ни дорс, ни zfs, а btrfs (в отличии от zfs)
> не требует изменения в vfs, так как и так отлично ложится
> на имеющуюся функциональность.

Боюсь вы несколько не в теме..

Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

71. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 13:39 
это называется - полный пиндец. :D человеку показали код smb_server.c с его же ссылки http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr... где черным по белому. :D ок. ещё раз:
71  *        +===================================+
72  *        |         smbd daemon        |
73  *        +===================================+
74  *         |             |              ^
76  * User    |             |              |
77  * --------|--------------|----------------|--------------------
78  * Kernel  |             |              |
80  *         |             |              |
81  *  +======|==============|================|=================+
82  *  |      v             v              |            |
83  *  | +-----------+ +--------------------+ +------------------+ |
84  *  | |     IO    | | Kernel Door Server | | User Door Servers| |
85  *  | | Interface | |     Interface      | |   Interface      | |
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

72. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 14:01 
Это не код - это комментарий :-)

Я не отрицаю факт наличия демона с названием smbd. Я подвергаю сомнение ваше утверждение о том, что через него происходит весь ввод-вывод. И поскольку вы, очевидно, отлично ориентируетесь в коде smbd в солярисе, я предлагаю показать место в солярисном smbd, где происходит весь ввод-вывод. Там чуть больше десятка файлов и меньше 8 тысяч строк кода, так что, думаю, вас не затруднит продемонстрировать где в smbd осуществляется _весь_ ввод-вывод.

Или вы только в приведенном выше комментарии ориентируетесь и все свои умозаключения строите на базе этого комментария о обрывочных сведениях о cifs в линуксе?

Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

74. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 14:04 
> на базе этого комментария о обрывочных сведениях о cifs в линуксе?

"на базе этого комментария _и_ обрывочных сведениях о cifs в линуксе", конечно же

Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

75. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 14:13 
да нет! :D
это я предлагаю показать место в ядре куда сваливаются данные приходящие по сети сразу в vfs минуя юзерспейс.
а заодно - почему дорс всё же юзерспейсный? как и сокеты?
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

76. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 14:29 
а-у-у!
ну объсните откуда в юзерспесе это http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr...
особенно это:
269     if ((rbuf = (char *)alloca(dop_arg.rsize + hdr_size)) == NULL) {
270         errno = ENOMEM;
271         syslog(LOG_DEBUG, "smbd_door_dispatch[%s]: alloca %m",
272             dop_arg.opname);
273         smbd_door_return(&smbd_door_sdh, NULL, 0, NULL, 0);
274     }
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

77. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 14:34 
и это:
281     hdr->dh_datalen = dop_arg.rsize;
282     (void) smb_doorhdr_encode(hdr, (uint8_t *)rbuf, hdr_size);
283     dop_arg.rsize += hdr_size;
284
285     smbd_door_return(&smbd_door_sdh, rbuf, dop_arg.rsize, NULL, 0);
?
Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

81. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 16:03 
> а-у-у!
> ну объсните откуда в юзерспесе это http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr...
> особенно это:
> 269  if ((rbuf = (char *)alloca(dop_arg.rsize + hdr_size)) == NULL) {
> 270   errno = ENOMEM;
> 271   syslog(LOG_DEBUG, "smbd_door_dispatch[%s]: alloca %m",
> 272       dop_arg.opname);
> 273   smbd_door_return(&smbd_door_sdh, NULL, 0, NULL, 0);
> 274  }

Это место через которое происходит весь ввод-вывод? Ну-ну.

Как насчет вот этого:

http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr...

Где тут типы операций, которые хотя бы приблизительно напоминали ввод-вывод?

Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

85. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 17:30 
а при чём тут прямо таки весь ввод-вывод? :D
речь про переключение контекста кернел вс юзерспейс. пока.
ввод-вывод вот тут - http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr...
для примера.
    161     case SMB_OPIPE_WRITE:
    162         hdr.dh_door_rc = ndr_pipe_write(hdr.dh_fid, data, datalen);
    163
    164         hdr.dh_datalen = 0;
    165         hdr.dh_resid = 0;
    166         datalen = hdr_size;
    167         break;
юзерспейс аднака :D
Ответить | Правка | К родителю #81 | Наверх | Cообщить модератору

89. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 17:43 
> а при чём тут прямо таки весь ввод-вывод? :D
> речь про переключение контекста кернел вс юзерспейс. пока.

Не спрыгивай с темы. Ты утверждаешь, что весь ввод-вывод происходит через юзерспэйс. Вот только с аргументацией проблемы.

> ввод-вывод вот тут - http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr...
> для примера.
>     161  case SMB_OPIPE_WRITE:
>     162   hdr.dh_door_rc = ndr_pipe_write(hdr.dh_fid, data, datalen);
>     163
>     164   hdr.dh_datalen = 0;
>     165   hdr.dh_resid = 0;
>     166   datalen = hdr_size;
>     167   break;
> юзерспейс аднака :D

И какое это отношение имеет к сохранению файла с именем "уволить_за_некомпетентность_Anonа_Y_Mouse.docx" на сервер buhsrv.oracle.net? Поясни, плиз? Не хочешь ли ты сказать, что все блоки этого файла попадут так или иначе на обработку в эту функцию?

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

93. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 17:52 
>Не спрыгивай с темы. Ты утверждаешь, что весь ввод-вывод происходит через юзерспэйс. Вот только с аргументацией проблемы.

ах вот к какому слову вы привязались! :D
ок. признаю. не весь. но на производительность это не влияет никак, т.к. переключение контекстов НЕ УМЕНЬШАЕТСЯ.
ты вот вообще утверждал, что ВЕСЬ сервер в ядре - http://www.opennet.ru/openforum/vsluhforumID3/72542.html#28
>Наконец-то до тебя доперло. В соляре в ядре не только клиент, но и сервер, что я, собственно, и имел ввиду.

мне тебя тоже на этом слове ловить?
>И какое это отношение имеет к сохранению файла с именем "уволить_за_некомпетентность_Anonа_Y_Mouse.docx" на сервер buhsrv.oracle.net? Поясни, плиз?

Э нет! я первый спросил! :D
из юзерспейсного smbd (менее 10000 строчек? вы ведь это утверждали?) оказывается вызывается ещё и куча из
libmlrpc/    27-Sep-2010    
libmlsvc/    27-Sep-2010    
libsmb/    27-Sep-2010    
libsmbns/    27-Sep-2010    
libsmbrdr/    27-Sep-2010    
libsmbrp/

Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

101. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 19:42 
>>Не спрыгивай с темы. Ты утверждаешь, что весь ввод-вывод происходит через юзерспэйс. Вот только с аргументацией проблемы.
> ах вот к какому слову вы привязались! :D
> ок. признаю. не весь.

Мои аплодисменты!

> но на производительность это не влияет никак, т.к.
> переключение контекстов НЕ УМЕНЬШАЕТСЯ.

Уверен? А как же тогде признание неправоты чуть выше?

> ты вот вообще утверждал, что ВЕСЬ сервер в ядре - http://www.opennet.ru/openforum/vsluhforumID3/72542.html#28
>>Наконец-то до тебя доперло. В соляре в ядре не только клиент, но и сервер, что я, собственно, и имел ввиду.

Боюсь, что слово "весь" тебе почудилось, ибо, как ты и процитировал, я не его не употреблял.

>>И какое это отношение имеет к сохранению файла с именем "уволить_за_некомпетентность_Anonа_Y_Mouse.docx" на сервер buhsrv.oracle.net? Поясни, плиз?
> Э нет! я первый спросил! :D

А я тебя переспоросил. Чтобы ты мог проиллюстрировать свои заявления на понятном тебе примере.

> из юзерспейсного smbd (менее 10000 строчек? вы ведь это утверждали?)

В том каталоге, который я тебе привел, 14 файлов и менее 10000 строк кода, которые собственно и составляют демон.

> оказывается вызывается
> ещё и куча из
> libmlrpc/ 27-Sep-2010
> libmlsvc/ 27-Sep-2010
> libsmb/ 27-Sep-2010
> libsmbns/ 27-Sep-2010
> libsmbrdr/ 27-Sep-2010
> libsmbrp/

Да, есть еще и библиотеки, которые к нему линкуются, но если, как ты утверждал, весь ввод-вывод проходит через smbd, то прежде чем попасть в эти библиотеки, он вынужден был бы сначала оказаться в контексте smbd. Так что с библиотеками ты опять мимо кассы. Впрочем, тебе, похоже, не привыкать :-)

Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

102. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 20:20 
нда. совсем заврался ты заврался.
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

80. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 16:00 
> это я предлагаю показать место в ядре куда сваливаются данные приходящие по сети сразу в vfs минуя юзерспейс.

Только после вас, сударь.

> а заодно - почему дорс всё же юзерспейсный?

Думаю, вам для начала надо бы просветиться, что это за мезанизм IPC такой - doors, - и для чего он используется

> как и сокеты?

Это что это вы тут имеете ввиду?

Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

86. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 17:35 
угу. просветился.
чё там выше за hdr.dh_door_rc = ndr_pipe_write(hdr.dh_fid, data, datalen);
вау а она то уже из libmlrpc :D
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr...
так и до libsmb дойдём.
и ведь всё из юзерспейса! :D
Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

90. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 17:43 
вот эта мне функция тоже понравилась
/*
    431  * Move bytes between a buffer and a uio structure.
    432  * The transfer direction is controlled by rw:
    433  *    UIO_READ:  transfer from buf to uio
    434  *    UIO_WRITE: transfer from uio to buf
    435  *
    436  * Returns the number of bytes moved.
    437  */
    438 ssize_t
    439 ndr_uiomove(caddr_t buf, size_t buflen, enum uio_rw rw, struct uio *uio)
    440 {
    441     struct iovec *iov;
    442     int reading = (rw == UIO_READ);
    443     size_t nbytes;
    444     size_t nxfer = 0;
    445
    446     assert(rw == UIO_READ || rw == UIO_WRITE);
    447
    448     while (buflen && uio->uio_resid && uio->uio_iovcnt) {
    449         iov = uio->uio_iov;
    450         if ((nbytes = iov->iov_len) == 0) {
    451             uio->uio_iov++;
    452             uio->uio_iovcnt--;
    453             continue;
    454         }
    455
    456         if (nbytes > buflen)
    457             nbytes = buflen;
    458
    459         if (reading)
    460             bcopy(buf, iov->iov_base, nbytes);
    461         else
    462             bcopy(iov->iov_base, buf, nbytes);
    463
    464         iov->iov_base += nbytes;
    465         iov->iov_len -= nbytes;
    466         uio->uio_resid -= nbytes;
    467         uio->uio_offset += nbytes;
    468         buf += nbytes;
    469         buflen -= nbytes;
    470         nxfer += nbytes;
    471     }
    472
    473     return (nxfer);
    474 }
Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

92. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 17:49 
> вот эта мне функция тоже понравилась

Смотри, сколько всего нового ты узнаешь. Только вот это часть RPC, а это отнюдь не весь ввод-вывод.

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

94. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 17:59 
да бросьте уже.
там вся самба из такого кода. я ещё сотню комментов назад ссылку на дце и дком "для_размышлений" давал.
к тому же весь-не_весь - это только ваш способ оправдаться за первоначальную ложь:
>Наконец-то до тебя доперло. В соляре в ядре не только клиент, но и сервер, что я, собственно, и имел ввиду.

нельзя всю самбу туда запихнуть. вот и всё.
вернулись к тому же - там ведь ещё и лдап, и цербер, и какая-то странная библа libsqlite, и ещё куча всего. и они все поголовно в ядре. угу.

Ответить | Правка | К родителю #92 | Наверх | Cообщить модератору

98. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 18:34 
> да бросьте уже.

Начни с себя, а?

> там вся самба из такого кода. я ещё сотню комментов назад ссылку на дце и дком "для_размышлений" давал.

И что? Самба не имеет отношения к тому коду, который в солярисе, так что я не понимаю, почему ты упорно продолжаешь на нее ссылаться.

> к тому же весь-не_весь - это только ваш способ оправдаться за первоначальную ложь:
>>Наконец-то до тебя доперло. В соляре в ядре не только клиент, но и сервер, что я, собственно, и имел ввиду.

Ложь говоришь? Ну-ну.. Пока что лжешь здесь ты, ибо так и не предоставил убедительных аргументов в пользу твоего тезиса о том, что CIFS сервер в солярисе - в юзерленде, весь ввод-вывод происходит через юзерленд.

Хотя я могу признать, что мог бы выражаться более четко - существенная часть сервера в ядре. Это, однако, никак не отменяет того факта, что сервер CIFS в ядре таки пристуствует. И если взять NFS, то его части тоже можно найти в ядре и в юзерленде.

А вот в случае с Самбой - весь CIFS сервер в юзерленде получается.

> нельзя всю самбу туда запихнуть. вот и всё.

Ее туда никто и не запихивал. Запихнули ту часть, которая нужна для производительности, главным образом. Как раз таки ту часть, которая отвечает за чтение-запись в файлы.

> вернулись к тому же - там ведь ещё и лдап, и цербер, и какая-то странная библа libsqlite, и ещё куча всего. и они все поголовно в ядре. угу.

Тебе не кажется, что тут ты уже начинаешь бред нести?

Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

39. "Выпущен Oracle Solaris 11 Express"  –1 +/
Сообщение от ананим (?), 16-Ноя-10, 19:49 
да демон это обычный типа самбы - http://blogs.sun.com/timthomas/entry/solaris_cifs_in_workgro...
фан-боям соляры просто надо помнить, что "в Solaris 11 интегрирована" и "в ЯДРО Solaris 11 интегрирована" - это несколько разные вещи
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

41. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от cadmi (?), 16-Ноя-10, 20:33 
> да демон это обычный типа самбы - http://blogs.sun.com/timthomas/entry/solaris_cifs_in_workgro...
> фан-боям соляры просто надо помнить, что "в Solaris 11 интегрирована" и "в
> ЯДРО Solaris 11 интегрирована" - это несколько разные вещи

сходи проспись, пынгвын-фанбой. http://blogs.sun.com/marchamilton/entry/solaris_and_cifs

Ответить | Правка | Наверх | Cообщить модератору

43. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 16-Ноя-10, 21:32 
выйди из запоя, твой сан давно уже продали, а ты ещё простых вещей не знаешь.
уровень интеграции с ядром такой же как и в линухе. всё остальное в юзер-спейсе.
Ответить | Правка | Наверх | Cообщить модератору

44. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 16-Ноя-10, 21:48 
зы:
http://docs.sun.com/app/docs/doc/820-2429/createidmappingstr...
полностью в юзер-спейсе. и только не говори, что лдап, нис и т.д. крутятся тоже в ядре. это было бы слишком даже для солярщика в 2-х летнем запое.

есть поддержка протокола cifs в ядре (с интеграцией с zfs, вернее с vfs и т.д.), но не более. всё остальное реализовано как обычный сервис в юзер-спейс.
сходи уж чуть дальше по первой ссылке из твоей же ссылки и прочитай.

Ответить | Правка | Наверх | Cообщить модератору

47. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 16-Ноя-10, 23:16 
> есть поддержка протокола cifs в ядре

О чем и речь. Но не только клиентской части, но и серверной. Естественно, упихивать все в ядро резона нет, но в той же Самбе все работает в юзерленде, а не только id mapping и прочий менеджмент.

Ответить | Правка | Наверх | Cообщить модератору

49. "Выпущен Oracle Solaris 11 Express"  –1 +/
Сообщение от ананим (?), 17-Ноя-10, 01:15 
нет никакой серверной и клиентской части. вот о чем я хочу сказать.
есть поддержка cifs в vfs. и в линуховом ядре, и в солярном. в люнуховом даже есть локальная поддержка кэширования. все.
все остальное - юзер-спейс. аутентификция, идентификация, порты, протоколы, msrpc, dcom и т.д.

другое дело, что сановский cifs сервер использует эти возможности ядра, а самба - нет.
собственно кусок из самбы взяли и запихнули в оба ядра, о чем по всем выше приведенным всеми ссылкам и сказано. а если бы самба использовала, то это не означало бы, что ее запихнули в ядро. сравните с линуховым вариантом cifs vfs - http://linux-cifs.samba.org/
при чем речь не идет о выишрыше по производительности. ее там и не может быть. а вот элегантое соединение с вфс и плюшками zfs - да.

вот для размышления почему это так и не может быть по другому - http://en.wikipedia.org/wiki/FreeDCE

Ответить | Правка | Наверх | Cообщить модератору

52. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от pavlinux (ok), 17-Ноя-10, 02:18 
> нет никакой серверной и клиентской части. вот о чем я хочу сказать.

Предлагаю всё же придерживаться терминологии используемой в ядре,
иначе можно абстрагировать до того, что любой файловый обмен,
это куча байт летающих по проводам.

1. Linux CIFS-клиент может работать, как C поддержкой в ядре, так и БЕЗ.
2. Linux CIFS-серверу (ака samba) НЕ нужна поддержка в ядре, точнее её нет. :)
3. Linux NFS-серверу нужна поддержка в ядре (он можент и без, но уже, чуть менее 10 лет, так никто не делает).
4. Тяжело говорить о NFS клиентах, так как они могут быть в таких немыслимых позах и видах, в том числе, для монтирования в каталог юзают ядро, для быстрого NFS-to-VFS


  

Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

53. "Выпущен Oracle Solaris 11 Express"  –1 +/
Сообщение от ананим (?), 17-Ноя-10, 02:32 
ну блин, в коротком комменте сформулированном за 1 минуту трудно быть полностью корректным в терминологии и понятиях.
мне важнее, чтобы собеседнику было понятно о чем речь.

зы:
по пункту 2 - там не много то и надо уже.
прсто сама эта поддержка (может пока. zfs то нету, а бтр и так нормально лежит) не особо и востребована.

Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

54. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 03:03 
> нет никакой серверной и клиентской части. вот о чем я хочу сказать.

Предлагаю ознакомиться вот с этим, прежде чем рассуждать что есть а чего нет:

http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr.../

http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr.../

А также прежде чем делать заявления типа этого:

> собственно кусок из самбы взяли и запихнули в оба ядра,

При этом я не хочу сказать, что в юзерленде ничего нет - там естественно есть много всего

> при чем речь не идет о выишрыше по производительности. ее там и не может быть. а вот элегантое соединение с вфс и плюшками zfs - да.

Ну и выигрыш по производительности там таки быть может. Ибо это не юзерлендовая Самба.

Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

57. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 03:40 
с павлинухом уже обсудили терминологию. думаю вы прекрасно поняли о чем речь.
ну и если вы не видите на страницах осла записи вида "спасибо разработчикам самбы за адоптацию и бла-бла-бла", то как бы говорить не о чем.
>Ну и выигрыш по производительности там таки быть может. Ибо это не юзерлендовая Самба.

не в данном протоколе
да нету там его. проблемма юзерспейса только в частом переключении контекстов и двойном кэшировании. а ее и так решили, но об это мне пока отвлекаться не хочется. а хочется рассмотреть ваши ссылки. смотрим файл http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr... в нем:
*        +===================================+
     72  *        |         smbd daemon        |
     73  *        +===================================+
     74  *          |             |              ^
     75  *          |             |              |
     76  * User          |             |              |
     77  * -----------|--------------|----------------|--------------------------------
     78  * Kernel     |             |              |
     79  *            |             |              |
     80  *          |             |              |
     81  *  +=========|==============|================|=================+
     82  *  |          v             v              |            |
     83  *  | +-----------+ +--------------------+ +------------------+ |
     84  *  | |     IO    | | Kernel Door Server | | User Door Servers|    |
     85  *  | | Interface | |     Interface      | |   Interface      | |
     86  *  | +-----------+ +--------------------+ +------------------+ |
     87  *  |        |         |              ^        ^    |
     88  *  |        v         v              |        |    |    +=========+
     89  *  |         +-----------------------------------+    |    |    |           |
     90  *  |         + SMB Server Management (this file) |<------------------|     ZFS   |
     91  *  |         +-----------------------------------+    |    |    |           |
     92  *  |                            |    |    |  Module |
     93  *  |         +-----------------------------------+    |    |    |           |
     94  *  |         +     SMB Server Internal Layers    |------+    |    +=========+
     95  *  |         +-----------------------------------+        |

вот и все. думаю и так понятно.
если есть желание, то можете сравнить с линухом http://git.kernel.org/?p=linux/kernel/git/next/linux-next.gi... разница не настолько существенна как казалась бы по тону начала этой ветки обсуждений

Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

63. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 12:14 
> ну и если вы не видите на страницах осла записи вида "спасибо
> разработчикам самбы за адоптацию и бла-бла-бла", то как бы говорить не
> о чем.

О чем это вы тут?

>>Ну и выигрыш по производительности там таки быть может. Ибо это не юзерлендовая Самба.
> не в данном протоколе

Ну-ну..

> да нету там его. проблемма юзерспейса только в частом переключении контекстов и
> двойном кэшировании. а ее и так решили, но об это мне
> пока отвлекаться не хочется.

А может стоит отвлечься? Вдруг много нового для себя откроете?

> а хочется рассмотреть ваши ссылки. смотрим файл
> http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr...
> в нем:
> *     +===================================+
>      72  *    
> |   smbd daemon  |
>      73  *    
> +===================================+
> вот и все. думаю и так понятно.

Чего понятно-то? Что smbd есть? Так никто этого не отрицал. Может все-таки стоило и в код smbd заглянуть?

> если есть желание, то можете сравнить с линухом http://git.kernel.org/?p=linux/kernel/git/next/linux-next.gi...

Интересно, мы вроде про сервер разговариваем, а вы почему-то ссылку на линуксовый клиент приводите, да еще и в linux-next. Ничего не попутали?

Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

65. "Выпущен Oracle Solaris 11 Express"  –1 +/
Сообщение от ананим (?), 17-Ноя-10, 12:35 
еще раз. для медленно думающих:
                  +===================================+
     72  *        |         smbd daemon        |
     73  *        +===================================+
     74  *            |             |              ^
     76  * User       |             |              |
     77  * -----------|-------------|--------------|----------------
     78  * Kernel     |             |              |
     79  *            |             |              |
     81  *  +=========|=============|==============|=================+
     82  *  |         v             v              |            |
     83  *  | +-----------+ +--------------------+ +------------------+
     84  *  | |     IO    | | Kernel Door Server | | User Door Servers|
     85  *  | | Interface | |     Interface      | |   Interface      |
слово User в 76 строке паказывает границу бэерспейса, слово Kernel в 78 - кернелспейс. 77 строка указавает барьер между ними. все данные идут через юзерспейс со всеми вытекающими, указанный в 72 строке под скромным названием smbd daemon.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

69. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 13:29 
> все данные идут
> через юзерспейс со всеми вытекающими, указанный в 72 строке под скромным
> названием smbd daemon.

Вот тут http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr.../ чуть более десятка файлов, надеюсь, вас не затруднит указать в каком именно из них происходит обработка всего ввода-вывода. Вы ведь так хорошо ориентиируетесь в этом коде..

Жду с нетерпением.


Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

73. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 14:03 
обработка?!! :D
с радостью! но есть "но".
сразу же после того, как вы (не затруднит?) объясните как данные с клиетской машины (вих хп к примеру. нужно выложить файл "уволить_за_некомпетентность_Anonа_Y_Mouse.docx" на сервер buhsrv.oracle.net) попадают в солярную vfs (а именно том tank/cifs0) минуя юзерспейс.

могу намекнуть - почему на http://en.wikipedia.org/wiki/Doors_(computing)#Overview есть такие строки:
>The doors subsystem is implemented as a user-space library with some kernel support, and relies heavily on threads. It is designed for low overhead, and the Solaris implementation uses some assembler code for maximum efficiency.

?

Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

78. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 15:34 
ну вот. исчез мой собеседник. соврал про 10 файлов, минусов поставил и испарился.
а я только про кучу юзерспейсных вещей ещё хотел поговорить. типа libsmb -
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr.../
да и про весь остальной код - http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr.../
Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

82. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 16:03 
> ну вот. исчез мой собеседник. соврал про 10 файлов, минусов поставил и
> испарился.

Минусов это ты не от меня заслужил, так что не расстраивайся, а подумай.

> а я только про кучу юзерспейсных вещей ещё хотел поговорить. типа libsmb
> -
> http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr.../
> да и про весь остальной код - http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/sr.../

Давай, поговори.. Что ты хочешь сказать?

Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

84. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 17:19 
ты выше на код отвечай. там и поговорим.:D
а то поразвёл кучу ничего не значащих коментариев.
>Минусов это ты не от меня заслужил, так что не расстраивайся, а подумай.

ну конечно!!! :D

ps:
и о каком вводе-выводы ты всё время толдычишь? речь идёт о переключении контекста юзерспейс-кернелспейс.
так что вперёд, объясняй.
а потом дойдём и до квот, юзераус, uid-sid mapping, dfs, asincresponse,... и почему они все в юзерспейсе и все вызываются на каждую сессию.

Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

87. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 17:37 
> ты выше на код отвечай. там и поговорим.:D

Я здесь отвечу. Впрочем, выше тоже отвечал.

> а то поразвёл кучу ничего не значащих коментариев.

Проказать место, которое отвечает за обработку всего ввода-вывода в солярисном smbd ты так и не смог. Как, впрочем, не смог и признаться в том, что заблуждался. Так что это двойной фэйл.

> ps:
> и о каком вводе-выводы ты всё время толдычишь?

Я не толдычу, я пытаюсь от тебя добиться подтверждения твоего тезиса о том, что весь ввод-вывод в солярисной реализации CIFS сервера происходит через юзерлэндовый smbd. Или признания того, что был неправ. Пока что безуспешно.

> речь идёт о переключении контекста юзерспейс-кернелспейс.

Начинаешь подменять тему дискуссии? Ну-ну.. В том-то и дело что для операций собственно чтения-записи в солярисе переключений контекста не нужно, ибо все происходит в ядре. Ты почему-то упорно отказываешься это понять.

> а потом дойдём и до квот, юзераус, uid-sid mapping, dfs, asincresponse,... и
> почему они все в юзерспейсе и все вызываются на каждую сессию.

Задай себе вопрос, сколько раз они вызываются, и сколько раз вызываются собственно чтение/запись?

Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

96. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 18:03 
>Я здесь отвечу. Впрочем, выше тоже отвечал.

там был фэйл.

Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

99. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 18:54 
>>Я здесь отвечу. Впрочем, выше тоже отвечал.
> там был фэйл.

Угу.. Ты лучше за своими фэйлами смотри..

Ответить | Правка | К родителю #96 | Наверх | Cообщить модератору

83. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 16:13 
> с радостью! но есть "но".
> сразу же после того, как вы (не затруднит?) объясните как данные с клиетской машины (вих хп к примеру. нужно выложить файл "уволить_за_некомпетентность_Anonа_Y_Mouse.docx" на сервер buhsrv.oracle.net) попадают в солярную vfs (а именно том tank/cifs0) минуя юзерспейс.

Что, не так то просто оказалось найти в солярисном smbd место, через которое идет весь ввод-вывод? Ну так неудивительно :-) Сложно найти черную кошку в темной комнате, особенно если ее там просто-напросто нет.

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

88. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 17:38 
хорош комменты плодить. думаешь среди них и твой фЭйл затеряется? :D
см. выше.
Ответить | Правка | К родителю #83 | Наверх | Cообщить модератору

91. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от Anon Y Mous (?), 17-Ноя-10, 17:46 
> хорош комменты плодить. думаешь среди них и твой фЭйл затеряется? :D
> см. выше.

Нечему теряться-то.. Во всяком случае пока нечему. А вот у тебя есть шанс сократить свой двойной фэйл до одного. Впрочем, я не особо надеюсь.

Ответить | Правка | К родителю #88 | Наверх | Cообщить модератору

95. "Выпущен Oracle Solaris 11 Express"  +/
Сообщение от ананим (?), 17-Ноя-10, 18:02 
ну как же! :D
>Наконец-то до тебя доперло. В соляре в ядре не только клиент, но и сервер, что я, собственно, и имел ввиду.

потом код в 10000 строк. ну а вызовы ещё кучи быбл - да кто их считае? :D

Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру