mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge 4.14-rc4 into staging-next
We want the staging/iio fixes in here as well to handle merge issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
2
.mailmap
2
.mailmap
@@ -68,6 +68,8 @@ Jacob Shin <Jacob.Shin@amd.com>
|
||||
James Bottomley <jejb@mulgrave.(none)>
|
||||
James Bottomley <jejb@titanic.il.steeleye.com>
|
||||
James E Wilson <wilson@specifix.com>
|
||||
James Hogan <jhogan@kernel.org> <james.hogan@imgtec.com>
|
||||
James Hogan <jhogan@kernel.org> <james@albanarts.com>
|
||||
James Ketrenos <jketreno@io.(none)>
|
||||
Javi Merino <javi.merino@kernel.org> <javi.merino@arm.com>
|
||||
<javier@osg.samsung.com> <javier.martinez@collabora.co.uk>
|
||||
|
||||
@@ -127,7 +127,7 @@ Description:
|
||||
|
||||
What; /sys/power/pm_trace_dev_match
|
||||
Date: October 2010
|
||||
Contact: James Hogan <james@albanarts.com>
|
||||
Contact: James Hogan <jhogan@kernel.org>
|
||||
Description:
|
||||
The /sys/power/pm_trace_dev_match file contains the name of the
|
||||
device associated with the last PM event point saved in the RTC
|
||||
|
||||
@@ -39,8 +39,8 @@ up.
|
||||
Although MT wq wasted a lot of resource, the level of concurrency
|
||||
provided was unsatisfactory. The limitation was common to both ST and
|
||||
MT wq albeit less severe on MT. Each wq maintained its own separate
|
||||
worker pool. A MT wq could provide only one execution context per CPU
|
||||
while a ST wq one for the whole system. Work items had to compete for
|
||||
worker pool. An MT wq could provide only one execution context per CPU
|
||||
while an ST wq one for the whole system. Work items had to compete for
|
||||
those very limited execution contexts leading to various problems
|
||||
including proneness to deadlocks around the single execution context.
|
||||
|
||||
@@ -151,7 +151,7 @@ Application Programming Interface (API)
|
||||
|
||||
``alloc_workqueue()`` allocates a wq. The original
|
||||
``create_*workqueue()`` functions are deprecated and scheduled for
|
||||
removal. ``alloc_workqueue()`` takes three arguments - @``name``,
|
||||
removal. ``alloc_workqueue()`` takes three arguments - ``@name``,
|
||||
``@flags`` and ``@max_active``. ``@name`` is the name of the wq and
|
||||
also used as the name of the rescuer thread if there is one.
|
||||
|
||||
@@ -197,7 +197,7 @@ resources, scheduled and executed.
|
||||
served by worker threads with elevated nice level.
|
||||
|
||||
Note that normal and highpri worker-pools don't interact with
|
||||
each other. Each maintain its separate pool of workers and
|
||||
each other. Each maintains its separate pool of workers and
|
||||
implements concurrency management among its workers.
|
||||
|
||||
``WQ_CPU_INTENSIVE``
|
||||
@@ -249,8 +249,8 @@ unbound worker-pools and only one work item could be active at any given
|
||||
time thus achieving the same ordering property as ST wq.
|
||||
|
||||
In the current implementation the above configuration only guarantees
|
||||
ST behavior within a given NUMA node. Instead alloc_ordered_queue should
|
||||
be used to achieve system wide ST behavior.
|
||||
ST behavior within a given NUMA node. Instead ``alloc_ordered_queue()`` should
|
||||
be used to achieve system-wide ST behavior.
|
||||
|
||||
|
||||
Example Execution Scenarios
|
||||
|
||||
@@ -32,8 +32,6 @@ cpufreq-stats.txt - General description of sysfs cpufreq stats.
|
||||
|
||||
index.txt - File index, Mailing list and Links (this document)
|
||||
|
||||
intel-pstate.txt - Intel pstate cpufreq driver specific file.
|
||||
|
||||
pcc-cpufreq.txt - PCC cpufreq driver specific file.
|
||||
|
||||
|
||||
|
||||
@@ -344,3 +344,4 @@ Version History
|
||||
(wrong raid10_copies/raid10_format sequence)
|
||||
1.11.1 Add raid4/5/6 journal write-back support via journal_mode option
|
||||
1.12.1 fix for MD deadlock between mddev_suspend() and md_write_start() available
|
||||
1.13.0 Fix dev_health status at end of "recover" (was 'a', now 'A')
|
||||
|
||||
@@ -32,7 +32,7 @@ Example:
|
||||
compatible = "st,stm32h743-rcc", "st,stm32-rcc";
|
||||
reg = <0x58024400 0x400>;
|
||||
#reset-cells = <1>;
|
||||
#clock-cells = <2>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s_ckin>;
|
||||
|
||||
st,syscfg = <&pwrcfg>;
|
||||
|
||||
@@ -15,11 +15,14 @@ Required properties
|
||||
|
||||
compatible : Must be "ams,as3645a".
|
||||
reg : The I2C address of the device. Typically 0x30.
|
||||
#address-cells : 1
|
||||
#size-cells : 0
|
||||
|
||||
|
||||
Required properties of the "flash" child node
|
||||
=============================================
|
||||
Required properties of the flash child node (0)
|
||||
===============================================
|
||||
|
||||
reg: 0
|
||||
flash-timeout-us: Flash timeout in microseconds. The value must be in
|
||||
the range [100000, 850000] and divisible by 50000.
|
||||
flash-max-microamp: Maximum flash current in microamperes. Has to be
|
||||
@@ -33,20 +36,21 @@ ams,input-max-microamp: Maximum flash controller input current. The
|
||||
and divisible by 50000.
|
||||
|
||||
|
||||
Optional properties of the "flash" child node
|
||||
=============================================
|
||||
Optional properties of the flash child node
|
||||
===========================================
|
||||
|
||||
label : The label of the flash LED.
|
||||
|
||||
|
||||
Required properties of the "indicator" child node
|
||||
=================================================
|
||||
Required properties of the indicator child node (1)
|
||||
===================================================
|
||||
|
||||
reg: 1
|
||||
led-max-microamp: Maximum indicator current. The allowed values are
|
||||
2500, 5000, 7500 and 10000.
|
||||
|
||||
Optional properties of the "indicator" child node
|
||||
=================================================
|
||||
Optional properties of the indicator child node
|
||||
===============================================
|
||||
|
||||
label : The label of the indicator LED.
|
||||
|
||||
@@ -55,16 +59,20 @@ Example
|
||||
=======
|
||||
|
||||
as3645a@30 {
|
||||
#address-cells: 1
|
||||
#size-cells: 0
|
||||
reg = <0x30>;
|
||||
compatible = "ams,as3645a";
|
||||
flash {
|
||||
flash@0 {
|
||||
reg = <0x0>;
|
||||
flash-timeout-us = <150000>;
|
||||
flash-max-microamp = <320000>;
|
||||
led-max-microamp = <60000>;
|
||||
ams,input-max-microamp = <1750000>;
|
||||
label = "as3645a:flash";
|
||||
};
|
||||
indicator {
|
||||
indicator@1 {
|
||||
reg = <0x1>;
|
||||
led-max-microamp = <10000>;
|
||||
label = "as3645a:indicator";
|
||||
};
|
||||
|
||||
@@ -16,11 +16,13 @@ Required Properties:
|
||||
|
||||
- clocks:
|
||||
Array of clocks required for SDHC.
|
||||
Require at least input clock for Xenon IP core.
|
||||
Require at least input clock for Xenon IP core. For Armada AP806 and
|
||||
CP110, the AXI clock is also mandatory.
|
||||
|
||||
- clock-names:
|
||||
Array of names corresponding to clocks property.
|
||||
The input clock for Xenon IP core should be named as "core".
|
||||
The input clock for the AXI bus must be named as "axi".
|
||||
|
||||
- reg:
|
||||
* For "marvell,armada-3700-sdhci", two register areas.
|
||||
@@ -106,8 +108,8 @@ Example:
|
||||
compatible = "marvell,armada-ap806-sdhci";
|
||||
reg = <0xaa0000 0x1000>;
|
||||
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>
|
||||
clocks = <&emmc_clk>;
|
||||
clock-names = "core";
|
||||
clocks = <&emmc_clk>,<&axi_clk>;
|
||||
clock-names = "core", "axi";
|
||||
bus-width = <4>;
|
||||
marvell,xenon-phy-slow-mode;
|
||||
marvell,xenon-tun-count = <11>;
|
||||
@@ -126,8 +128,8 @@ Example:
|
||||
interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>
|
||||
vqmmc-supply = <&sd_vqmmc_regulator>;
|
||||
vmmc-supply = <&sd_vmmc_regulator>;
|
||||
clocks = <&sdclk>;
|
||||
clock-names = "core";
|
||||
clocks = <&sdclk>, <&axi_clk>;
|
||||
clock-names = "core", "axi";
|
||||
bus-width = <4>;
|
||||
marvell,xenon-tun-count = <9>;
|
||||
};
|
||||
|
||||
@@ -21,8 +21,9 @@ Required properties:
|
||||
- main controller clock (for both armada-375-pp2 and armada-7k-pp2)
|
||||
- GOP clock (for both armada-375-pp2 and armada-7k-pp2)
|
||||
- MG clock (only for armada-7k-pp2)
|
||||
- clock-names: names of used clocks, must be "pp_clk", "gop_clk" and
|
||||
"mg_clk" (the latter only for armada-7k-pp2).
|
||||
- AXI clock (only for armada-7k-pp2)
|
||||
- clock-names: names of used clocks, must be "pp_clk", "gop_clk", "mg_clk"
|
||||
and "axi_clk" (the 2 latter only for armada-7k-pp2).
|
||||
|
||||
The ethernet ports are represented by subnodes. At least one port is
|
||||
required.
|
||||
@@ -78,8 +79,9 @@ Example for marvell,armada-7k-pp2:
|
||||
cpm_ethernet: ethernet@0 {
|
||||
compatible = "marvell,armada-7k-pp22";
|
||||
reg = <0x0 0x100000>, <0x129000 0xb000>;
|
||||
clocks = <&cpm_syscon0 1 3>, <&cpm_syscon0 1 9>, <&cpm_syscon0 1 5>;
|
||||
clock-names = "pp_clk", "gop_clk", "gp_clk";
|
||||
clocks = <&cpm_syscon0 1 3>, <&cpm_syscon0 1 9>,
|
||||
<&cpm_syscon0 1 5>, <&cpm_syscon0 1 18>;
|
||||
clock-names = "pp_clk", "gop_clk", "gp_clk", "axi_clk";
|
||||
|
||||
eth0: eth0 {
|
||||
interrupts = <ICU_GRP_NSR 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
||||
@@ -4,6 +4,7 @@ The device node has following properties.
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "rockchip,<name>-gamc"
|
||||
"rockchip,rk3128-gmac": found on RK312x SoCs
|
||||
"rockchip,rk3228-gmac": found on RK322x SoCs
|
||||
"rockchip,rk3288-gmac": found on RK3288 SoCs
|
||||
"rockchip,rk3328-gmac": found on RK3328 SoCs
|
||||
|
||||
28
Documentation/devicetree/bindings/reset/snps,hsdk-reset.txt
Normal file
28
Documentation/devicetree/bindings/reset/snps,hsdk-reset.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Binding for the Synopsys HSDK reset controller
|
||||
|
||||
This binding uses the common reset binding[1].
|
||||
|
||||
[1] Documentation/devicetree/bindings/reset/reset.txt
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "snps,hsdk-reset".
|
||||
- reg: should always contain 2 pairs address - length: first for reset
|
||||
configuration register and second for corresponding SW reset and status bits
|
||||
register.
|
||||
- #reset-cells: from common reset binding; Should always be set to 1.
|
||||
|
||||
Example:
|
||||
reset: reset@880 {
|
||||
compatible = "snps,hsdk-reset";
|
||||
#reset-cells = <1>;
|
||||
reg = <0x8A0 0x4>, <0xFF0 0x4>;
|
||||
};
|
||||
|
||||
Specifying reset lines connected to IP modules:
|
||||
ethernet@.... {
|
||||
....
|
||||
resets = <&reset HSDK_V1_ETH_RESET>;
|
||||
....
|
||||
};
|
||||
|
||||
The index could be found in <dt-bindings/reset/snps,hsdk-reset.h>
|
||||
@@ -8,6 +8,12 @@ Required properties:
|
||||
the firmware event log
|
||||
- linux,sml-size : size of the memory allocated for the firmware event log
|
||||
|
||||
Optional properties:
|
||||
|
||||
- powered-while-suspended: present when the TPM is left powered on between
|
||||
suspend and resume (makes the suspend/resume
|
||||
callbacks do nothing).
|
||||
|
||||
Example (for OpenPower Systems with Nuvoton TPM 2.0 on I2C)
|
||||
----------------------------------------------------------
|
||||
|
||||
|
||||
@@ -41,6 +41,8 @@ Required properties:
|
||||
- "renesas,hscif-r8a7795" for R8A7795 (R-Car H3) HSCIF compatible UART.
|
||||
- "renesas,scif-r8a7796" for R8A7796 (R-Car M3-W) SCIF compatible UART.
|
||||
- "renesas,hscif-r8a7796" for R8A7796 (R-Car M3-W) HSCIF compatible UART.
|
||||
- "renesas,scif-r8a77970" for R8A77970 (R-Car V3M) SCIF compatible UART.
|
||||
- "renesas,hscif-r8a77970" for R8A77970 (R-Car V3M) HSCIF compatible UART.
|
||||
- "renesas,scif-r8a77995" for R8A77995 (R-Car D3) SCIF compatible UART.
|
||||
- "renesas,hscif-r8a77995" for R8A77995 (R-Car D3) HSCIF compatible UART.
|
||||
- "renesas,scifa-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFA compatible UART.
|
||||
|
||||
@@ -3,8 +3,8 @@ Device tree binding vendor prefix registry. Keep list in alphabetical order.
|
||||
This isn't an exhaustive list, but you should add new prefixes to it before
|
||||
using them to avoid name-space collisions.
|
||||
|
||||
abcn Abracon Corporation
|
||||
abilis Abilis Systems
|
||||
abracon Abracon Corporation
|
||||
actions Actions Semiconductor Co., Ltd.
|
||||
active-semi Active-Semi International Inc
|
||||
ad Avionic Design GmbH
|
||||
|
||||
@@ -675,7 +675,7 @@ sub-domain of the parent domain.
|
||||
|
||||
Support for power domains is provided through the :c:member:`pm_domain` field of
|
||||
|struct device|. This field is a pointer to an object of type
|
||||
|struct dev_pm_domain|, defined in :file:`include/linux/pm.h``, providing a set
|
||||
|struct dev_pm_domain|, defined in :file:`include/linux/pm.h`, providing a set
|
||||
of power management callbacks analogous to the subsystem-level and device driver
|
||||
callbacks that are executed for the given device during all power transitions,
|
||||
instead of the respective subsystem-level callbacks. Specifically, if a
|
||||
|
||||
@@ -196,12 +196,13 @@ struct driver_attribute {
|
||||
};
|
||||
|
||||
Device drivers can export attributes via their sysfs directories.
|
||||
Drivers can declare attributes using a DRIVER_ATTR macro that works
|
||||
identically to the DEVICE_ATTR macro.
|
||||
Drivers can declare attributes using a DRIVER_ATTR_RW and DRIVER_ATTR_RO
|
||||
macro that works identically to the DEVICE_ATTR_RW and DEVICE_ATTR_RO
|
||||
macros.
|
||||
|
||||
Example:
|
||||
|
||||
DRIVER_ATTR(debug,0644,show_debug,store_debug);
|
||||
DRIVER_ATTR_RW(debug);
|
||||
|
||||
This is equivalent to declaring:
|
||||
|
||||
|
||||
@@ -41,6 +41,11 @@ Igor Mammedov (DFS support)
|
||||
Jeff Layton (many, many fixes, as well as great work on the cifs Kerberos code)
|
||||
Scott Lovenberg
|
||||
Pavel Shilovsky (for great work adding SMB2 support, and various SMB3 features)
|
||||
Aurelien Aptel (for DFS SMB3 work and some key bug fixes)
|
||||
Ronnie Sahlberg (for SMB3 xattr work and bug fixes)
|
||||
Shirish Pargaonkar (for many ACL patches over the years)
|
||||
Sachin Prabhu (many bug fixes, including for reconnect, copy offload and security)
|
||||
|
||||
|
||||
Test case and Bug Report contributors
|
||||
-------------------------------------
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
The CIFS VFS support for Linux supports many advanced network filesystem
|
||||
features such as hierarchical dfs like namespace, hardlinks, locking and more.
|
||||
This module supports the SMB3 family of advanced network protocols (as well
|
||||
as older dialects, originally called "CIFS" or SMB1).
|
||||
|
||||
The CIFS VFS module for Linux supports many advanced network filesystem
|
||||
features such as hierarchical DFS like namespace, hardlinks, locking and more.
|
||||
It was designed to comply with the SNIA CIFS Technical Reference (which
|
||||
supersedes the 1992 X/Open SMB Standard) as well as to perform best practice
|
||||
practical interoperability with Windows 2000, Windows XP, Samba and equivalent
|
||||
servers. This code was developed in participation with the Protocol Freedom
|
||||
Information Foundation.
|
||||
Information Foundation. CIFS and now SMB3 has now become a defacto
|
||||
standard for interoperating between Macs and Windows and major NAS appliances.
|
||||
|
||||
Please see
|
||||
http://protocolfreedom.org/ and
|
||||
@@ -15,30 +19,11 @@ for more details.
|
||||
For questions or bug reports please contact:
|
||||
sfrench@samba.org (sfrench@us.ibm.com)
|
||||
|
||||
See the project page at: https://wiki.samba.org/index.php/LinuxCIFS_utils
|
||||
|
||||
Build instructions:
|
||||
==================
|
||||
For Linux 2.4:
|
||||
1) Get the kernel source (e.g.from http://www.kernel.org)
|
||||
and download the cifs vfs source (see the project page
|
||||
at http://us1.samba.org/samba/Linux_CIFS_client.html)
|
||||
and change directory into the top of the kernel directory
|
||||
then patch the kernel (e.g. "patch -p1 < cifs_24.patch")
|
||||
to add the cifs vfs to your kernel configure options if
|
||||
it has not already been added (e.g. current SuSE and UL
|
||||
users do not need to apply the cifs_24.patch since the cifs vfs is
|
||||
already in the kernel configure menu) and then
|
||||
mkdir linux/fs/cifs and then copy the current cifs vfs files from
|
||||
the cifs download to your kernel build directory e.g.
|
||||
|
||||
cp <cifs_download_dir>/fs/cifs/* to <kernel_download_dir>/fs/cifs
|
||||
|
||||
2) make menuconfig (or make xconfig)
|
||||
3) select cifs from within the network filesystem choices
|
||||
4) save and exit
|
||||
5) make dep
|
||||
6) make modules (or "make" if CIFS VFS not to be built as a module)
|
||||
|
||||
For Linux 2.6:
|
||||
For Linux:
|
||||
1) Download the kernel (e.g. from http://www.kernel.org)
|
||||
and change directory into the top of the kernel directory tree
|
||||
(e.g. /usr/src/linux-2.5.73)
|
||||
@@ -61,16 +46,13 @@ would simply type "make install").
|
||||
If you do not have the utility mount.cifs (in the Samba 3.0 source tree and on
|
||||
the CIFS VFS web site) copy it to the same directory in which mount.smbfs and
|
||||
similar files reside (usually /sbin). Although the helper software is not
|
||||
required, mount.cifs is recommended. Eventually the Samba 3.0 utility program
|
||||
"net" may also be helpful since it may someday provide easier mount syntax for
|
||||
users who are used to Windows e.g.
|
||||
net use <mount point> <UNC name or cifs URL>
|
||||
required, mount.cifs is recommended. Most distros include a "cifs-utils"
|
||||
package that includes this utility so it is recommended to install this.
|
||||
|
||||
Note that running the Winbind pam/nss module (logon service) on all of your
|
||||
Linux clients is useful in mapping Uids and Gids consistently across the
|
||||
domain to the proper network user. The mount.cifs mount helper can be
|
||||
trivially built from Samba 3.0 or later source e.g. by executing:
|
||||
|
||||
gcc samba/source/client/mount.cifs.c -o mount.cifs
|
||||
found at cifs-utils.git on git.samba.org
|
||||
|
||||
If cifs is built as a module, then the size and number of network buffers
|
||||
and maximum number of simultaneous requests to one server can be configured.
|
||||
@@ -79,6 +61,18 @@ Changing these from their defaults is not recommended. By executing modinfo
|
||||
on kernel/fs/cifs/cifs.ko the list of configuration changes that can be made
|
||||
at module initialization time (by running insmod cifs.ko) can be seen.
|
||||
|
||||
Recommendations
|
||||
===============
|
||||
To improve security the SMB2.1 dialect or later (usually will get SMB3) is now
|
||||
the new default. To use old dialects (e.g. to mount Windows XP) use "vers=1.0"
|
||||
on mount (or vers=2.0 for Windows Vista). Note that the CIFS (vers=1.0) is
|
||||
much older and less secure than the default dialect SMB3 which includes
|
||||
many advanced security features such as downgrade attack detection
|
||||
and encrypted shares and stronger signing and authentication algorithms.
|
||||
There are additional mount options that may be helpful for SMB3 to get
|
||||
improved POSIX behavior (NB: can use vers=3.0 to force only SMB3, never 2.1):
|
||||
"mfsymlinks" and "cifsacl" and "idsfromsid"
|
||||
|
||||
Allowing User Mounts
|
||||
====================
|
||||
To permit users to mount and unmount over directories they own is possible
|
||||
@@ -98,9 +92,7 @@ and execution of suid programs on the remote target would be enabled
|
||||
by default. This can be changed, as with nfs and other filesystems,
|
||||
by simply specifying "nosuid" among the mount options. For user mounts
|
||||
though to be able to pass the suid flag to mount requires rebuilding
|
||||
mount.cifs with the following flag:
|
||||
|
||||
gcc samba/source/client/mount.cifs.c -DCIFS_ALLOW_USR_SUID -o mount.cifs
|
||||
mount.cifs with the following flag: CIFS_ALLOW_USR_SUID
|
||||
|
||||
There is a corresponding manual page for cifs mounting in the Samba 3.0 and
|
||||
later source tree in docs/manpages/mount.cifs.8
|
||||
@@ -189,18 +181,18 @@ applications running on the same server as Samba.
|
||||
Use instructions:
|
||||
================
|
||||
Once the CIFS VFS support is built into the kernel or installed as a module
|
||||
(cifs.o), you can use mount syntax like the following to access Samba or Windows
|
||||
servers:
|
||||
(cifs.ko), you can use mount syntax like the following to access Samba or
|
||||
Mac or Windows servers:
|
||||
|
||||
mount -t cifs //9.53.216.11/e$ /mnt -o user=myname,pass=mypassword
|
||||
mount -t cifs //9.53.216.11/e$ /mnt -o username=myname,password=mypassword
|
||||
|
||||
Before -o the option -v may be specified to make the mount.cifs
|
||||
mount helper display the mount steps more verbosely.
|
||||
After -o the following commonly used cifs vfs specific options
|
||||
are supported:
|
||||
|
||||
user=<username>
|
||||
pass=<password>
|
||||
username=<username>
|
||||
password=<password>
|
||||
domain=<domain name>
|
||||
|
||||
Other cifs mount options are described below. Use of TCP names (in addition to
|
||||
@@ -246,13 +238,16 @@ the Server's registry. Samba starting with version 3.10 will allow such
|
||||
filenames (ie those which contain valid Linux characters, which normally
|
||||
would be forbidden for Windows/CIFS semantics) as long as the server is
|
||||
configured for Unix Extensions (and the client has not disabled
|
||||
/proc/fs/cifs/LinuxExtensionsEnabled).
|
||||
|
||||
/proc/fs/cifs/LinuxExtensionsEnabled). In addition the mount option
|
||||
"mapposix" can be used on CIFS (vers=1.0) to force the mapping of
|
||||
illegal Windows/NTFS/SMB characters to a remap range (this mount parm
|
||||
is the default for SMB3). This remap ("mapposix") range is also
|
||||
compatible with Mac (and "Services for Mac" on some older Windows).
|
||||
|
||||
CIFS VFS Mount Options
|
||||
======================
|
||||
A partial list of the supported mount options follows:
|
||||
user The user name to use when trying to establish
|
||||
username The user name to use when trying to establish
|
||||
the CIFS session.
|
||||
password The user password. If the mount helper is
|
||||
installed, the user will be prompted for password
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Version 2.03 August 1, 2014
|
||||
Version 2.04 September 13, 2017
|
||||
|
||||
A Partial List of Missing Features
|
||||
==================================
|
||||
@@ -8,73 +8,69 @@ for visible, important contributions to this module. Here
|
||||
is a partial list of the known problems and missing features:
|
||||
|
||||
a) SMB3 (and SMB3.02) missing optional features:
|
||||
- RDMA
|
||||
- RDMA (started)
|
||||
- multichannel (started)
|
||||
- directory leases (improved metadata caching)
|
||||
- T10 copy offload (copy chunk is only mechanism supported)
|
||||
- encrypted shares
|
||||
|
||||
b) improved sparse file support
|
||||
|
||||
c) Directory entry caching relies on a 1 second timer, rather than
|
||||
using FindNotify or equivalent. - (started)
|
||||
using Directory Leases
|
||||
|
||||
d) quota support (needs minor kernel change since quota calls
|
||||
to make it to network filesystems or deviceless filesystems)
|
||||
|
||||
e) improve support for very old servers (OS/2 and Win9x for example)
|
||||
Including support for changing the time remotely (utimes command).
|
||||
e) Better optimize open to reduce redundant opens (using reference
|
||||
counts more) and to improve use of compounding in SMB3 to reduce
|
||||
number of roundtrips.
|
||||
|
||||
f) hook lower into the sockets api (as NFS/SunRPC does) to avoid the
|
||||
extra copy in/out of the socket buffers in some cases.
|
||||
|
||||
g) Better optimize open (and pathbased setfilesize) to reduce the
|
||||
oplock breaks coming from windows srv. Piggyback identical file
|
||||
opens on top of each other by incrementing reference count rather
|
||||
than resending (helps reduce server resource utilization and avoid
|
||||
spurious oplock breaks).
|
||||
|
||||
h) Add support for storing symlink info to Windows servers
|
||||
in the Extended Attribute format their SFU clients would recognize.
|
||||
|
||||
i) Finish inotify support so kde and gnome file list windows
|
||||
f) Finish inotify support so kde and gnome file list windows
|
||||
will autorefresh (partially complete by Asser). Needs minor kernel
|
||||
vfs change to support removing D_NOTIFY on a file.
|
||||
|
||||
j) Add GUI tool to configure /proc/fs/cifs settings and for display of
|
||||
g) Add GUI tool to configure /proc/fs/cifs settings and for display of
|
||||
the CIFS statistics (started)
|
||||
|
||||
k) implement support for security and trusted categories of xattrs
|
||||
h) implement support for security and trusted categories of xattrs
|
||||
(requires minor protocol extension) to enable better support for SELINUX
|
||||
|
||||
l) Implement O_DIRECT flag on open (already supported on mount)
|
||||
i) Implement O_DIRECT flag on open (already supported on mount)
|
||||
|
||||
m) Create UID mapping facility so server UIDs can be mapped on a per
|
||||
j) Create UID mapping facility so server UIDs can be mapped on a per
|
||||
mount or a per server basis to client UIDs or nobody if no mapping
|
||||
exists. This is helpful when Unix extensions are negotiated to
|
||||
allow better permission checking when UIDs differ on the server
|
||||
and client. Add new protocol request to the CIFS protocol
|
||||
standard for asking the server for the corresponding name of a
|
||||
particular uid.
|
||||
exists. Also better integration with winbind for resolving SID owners
|
||||
|
||||
n) DOS attrs - returned as pseudo-xattr in Samba format (check VFAT and NTFS for this too)
|
||||
k) Add tools to take advantage of more smb3 specific ioctls and features
|
||||
|
||||
o) mount check for unmatched uids
|
||||
l) encrypted file support
|
||||
|
||||
p) Add support for new vfs entry point for fallocate
|
||||
m) improved stats gathering, tools (perhaps integration with nfsometer?)
|
||||
|
||||
q) Add tools to take advantage of cifs/smb3 specific ioctls and features
|
||||
such as "CopyChunk" (fast server side file copy)
|
||||
n) allow setting more NTFS/SMB3 file attributes remotely (currently limited to compressed
|
||||
file attribute via chflags) and improve user space tools for managing and
|
||||
viewing them.
|
||||
|
||||
r) encrypted file support
|
||||
o) mount helper GUI (to simplify the various configuration options on mount)
|
||||
|
||||
s) improved stats gathering, tools (perhaps integration with nfsometer?)
|
||||
p) autonegotiation of dialects (offering more than one dialect ie SMB3.02,
|
||||
SMB3, SMB2.1 not just SMB3).
|
||||
|
||||
t) allow setting more NTFS/SMB3 file attributes remotely (currently limited to compressed
|
||||
file attribute via chflags)
|
||||
q) Allow mount.cifs to be more verbose in reporting errors with dialect
|
||||
or unsupported feature errors.
|
||||
|
||||
u) mount helper GUI (to simplify the various configuration options on mount)
|
||||
r) updating cifs documentation, and user guid.
|
||||
|
||||
s) Addressing bugs found by running a broader set of xfstests in standard
|
||||
file system xfstest suite.
|
||||
|
||||
t) split cifs and smb3 support into separate modules so legacy (and less
|
||||
secure) CIFS dialect can be disabled in environments that don't need it
|
||||
and simplify the code.
|
||||
|
||||
u) Finish up SMB3.1.1 dialect support
|
||||
|
||||
v) POSIX Extensions for SMB3.1.1
|
||||
|
||||
KNOWN BUGS
|
||||
====================================
|
||||
|
||||
@@ -1,24 +1,28 @@
|
||||
This is the client VFS module for the Common Internet File System
|
||||
(CIFS) protocol which is the successor to the Server Message Block
|
||||
This is the client VFS module for the SMB3 NAS protocol as well
|
||||
older dialects such as the Common Internet File System (CIFS)
|
||||
protocol which was the successor to the Server Message Block
|
||||
(SMB) protocol, the native file sharing mechanism for most early
|
||||
PC operating systems. New and improved versions of CIFS are now
|
||||
called SMB2 and SMB3. These dialects are also supported by the
|
||||
CIFS VFS module. CIFS is fully supported by network
|
||||
file servers such as Windows 2000, 2003, 2008 and 2012
|
||||
file servers such as Windows 2000, 2003, 2008, 2012 and 2016
|
||||
as well by Samba (which provides excellent CIFS
|
||||
server support for Linux and many other operating systems), so
|
||||
server support for Linux and many other operating systems), Apple
|
||||
systems, as well as most Network Attached Storage vendors, so
|
||||
this network filesystem client can mount to a wide variety of
|
||||
servers.
|
||||
|
||||
The intent of this module is to provide the most advanced network
|
||||
file system function for CIFS compliant servers, including better
|
||||
POSIX compliance, secure per-user session establishment, high
|
||||
performance safe distributed caching (oplock), optional packet
|
||||
file system function for SMB3 compliant servers, including advanced
|
||||
security features, excellent parallelized high performance i/o, better
|
||||
POSIX compliance, secure per-user session establishment, encryption,
|
||||
high performance safe distributed caching (leases/oplocks), optional packet
|
||||
signing, large files, Unicode support and other internationalization
|
||||
improvements. Since both Samba server and this filesystem client support
|
||||
the CIFS Unix extensions, the combination can provide a reasonable
|
||||
alternative to NFSv4 for fileserving in some Linux to Linux environments,
|
||||
not just in Linux to Windows environments.
|
||||
the CIFS Unix extensions (and in the future SMB3 POSIX extensions),
|
||||
the combination can provide a reasonable alternative to other network and
|
||||
cluster file systems for fileserving in some Linux to Linux environments,
|
||||
not just in Linux to Windows (or Linux to Mac) environments.
|
||||
|
||||
This filesystem has an mount utility (mount.cifs) that can be obtained from
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user