26 Sep, 2020

1 commit


27 Jun, 2020

1 commit

  • Rationale:
    Reduces attack surface on kernel devs opening the links for MITM
    as HTTPS traffic is much harder to manipulate.

    Deterministic algorithm:
    For each file:
    If not .svg:
    For each line:
    If doesn't contain `\bxmlns\b`:
    For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
    If both the HTTP and HTTPS versions
    return 200 OK and serve the same content:
    Replace HTTP with HTTPS.

    Signed-off-by: Alexander A. Klimov
    Link: https://lore.kernel.org/r/20200621133552.46371-1-grandmaster@al2klimov.de
    Signed-off-by: Jonathan Corbet

    Alexander A. Klimov
     

14 Feb, 2020

5 commits


17 Jan, 2020

8 commits

  • Convert fault_injection.txt to ReST and move it to admin-guide.

    Signed-off-by: Daniel W. S. Almeida
    Link: https://lore.kernel.org/r/f7b0cf8fb1159a668f75ce82a581e7590568c2b8.1578697871.git.dwlsalmeida@gmail.com
    Signed-off-by: Jonathan Corbet

    Daniel W. S. Almeida
     
  • Convert pnfs-scsi-server to ReST and move it to admin-guide. Content
    remains mostly unchanged.

    Signed-off-by: Daniel W. S. Almeida
    Link: https://lore.kernel.org/r/5c4b8af41ca0a427a3987535815bccf47a65d320.1578697871.git.dwlsalmeida@gmail.com
    Signed-off-by: Jonathan Corbet

    Daniel W. S. Almeida
     
  • Convert pnfs-block-server.txt to ReST and move it to admin-guide.
    Content remains mostly unchanged.

    Signed-off-by: Daniel W. S. Almeida
    Link: https://lore.kernel.org/r/c06903760e690c16d9df92f5e75f80381d6326d8.1578697871.git.dwlsalmeida@gmail.com
    Signed-off-by: Jonathan Corbet

    Daniel W. S. Almeida
     
  • Convert idmapper.txt to ReST and move it to admin-guide.
    Content remains mostly unchanged otherwise.

    Signed-off-by: Daniel W. S. Almeida
    Link: https://lore.kernel.org/r/069e40cd551ea778538f8fe9ad15ee26e45fc748.1578697871.git.dwlsalmeida@gmail.com
    Signed-off-by: Jonathan Corbet

    Daniel W. S. Almeida
     
  • Convert nfsd-admin-interfaces to ReST and move it into admin-guide.
    Content remains mostly untouched.

    Signed-off-by: Daniel W. S. Almeida
    Link: https://lore.kernel.org/r/d471305e9c96dec38f18d2ff816fca2269a88e29.1578697871.git.dwlsalmeida@gmail.com
    Signed-off-by: Jonathan Corbet

    Daniel W. S. Almeida
     
  • Convert nfs-rdma to ReST and move it to admin-guide. Content
    remais mostly untouched. Also, mark the doc as obsolete.

    Signed-off-by: Daniel W. S. Almeida
    Link: https://lore.kernel.org/r/9c88f184f9de2a3eb5181563e258559efc02f58a.1578697871.git.dwlsalmeida@gmail.com
    Signed-off-by: Jonathan Corbet

    Daniel W. S. Almeida
     
  • Convert nfsroot.txt to RST and move it to admin-guide. Content remains
    mostly the same.

    Signed-off-by: Daniel W. S. Almeida
    Link: https://lore.kernel.org/r/442d35917351f5260dd8ed7362e9b5f1264ef8ad.1578697871.git.dwlsalmeida@gmail.com
    Signed-off-by: Jonathan Corbet

    Daniel W. S. Almeida
     
  • This patch converts nfs.txt to RST. It also moves it to admin-guide.
    The reason for moving it is because this document contains information
    useful for system administrators, as noted on the following paragraph:

    'The purpose of this document is to provide information on some of the
    special features of the NFS client that can be configured by system
    administrators'.

    Signed-off-by: Daniel W. S. Almeida
    Link: https://lore.kernel.org/r/cb9f2da2f2f6dd432b4cf9e05f79f74f4d54b6ab.1578697871.git.dwlsalmeida@gmail.com
    Signed-off-by: Jonathan Corbet

    Daniel W. S. Almeida
     

01 Aug, 2019

1 commit

  • There are 3 remaining files without an extension inside the fs docs
    dir.

    Manually convert them to ReST.

    In the case of the nfs/exporting.rst file, as the nfs docs
    aren't ported yet, I opted to convert and add a :orphan: there,
    with should be removed when it gets added into a nfs-specific
    part of the fs documentation.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

15 Jul, 2019

2 commits


31 Oct, 2018

1 commit

  • Pull nfsd updates from Bruce Fields:
    "Olga added support for the NFSv4.2 asynchronous copy protocol. We
    already supported COPY, by copying a limited amount of data and then
    returning a short result, letting the client resend. The asynchronous
    protocol should offer better performance at the expense of some
    complexity.

    The other highlight is Trond's work to convert the duplicate reply
    cache to a red-black tree, and to move it and some other server caches
    to RCU. (Previously these have meant taking global spinlocks on every
    RPC)

    Otherwise, some RDMA work and miscellaneous bugfixes"

    * tag 'nfsd-4.20' of git://linux-nfs.org/~bfields/linux: (30 commits)
    lockd: fix access beyond unterminated strings in prints
    nfsd: Fix an Oops in free_session()
    nfsd: correctly decrement odstate refcount in error path
    svcrdma: Increase the default connection credit limit
    svcrdma: Remove try_module_get from backchannel
    svcrdma: Remove ->release_rqst call in bc reply handler
    svcrdma: Reduce max_send_sges
    nfsd: fix fall-through annotations
    knfsd: Improve lookup performance in the duplicate reply cache using an rbtree
    knfsd: Further simplify the cache lookup
    knfsd: Simplify NFS duplicate replay cache
    knfsd: Remove dead code from nfsd_cache_lookup
    SUNRPC: Simplify TCP receive code
    SUNRPC: Replace the cache_detail->hash_lock with a regular spinlock
    SUNRPC: Remove non-RCU protected lookup
    NFS: Fix up a typo in nfs_dns_ent_put
    NFS: Lockless DNS lookups
    knfsd: Lockless lookup of NFSv4 identities.
    SUNRPC: Lockless server RPCSEC_GSS context lookup
    knfsd: Allow lockless lookups of the exports
    ...

    Linus Torvalds
     

30 Oct, 2018

1 commit


10 Sep, 2018

1 commit

  • This is a respin with a wider audience (all that get_maintainer returned)
    and I know this spams a *lot* of people. Not sure what would be the correct
    way, so my apologies for ruining your inbox.

    The 00-INDEX files are supposed to give a summary of all files present
    in a directory, but these files are horribly out of date and their
    usefulness is brought into question. Often a simple "ls" would reveal
    the same information as the filenames are generally quite descriptive as
    a short introduction to what the file covers (it should not surprise
    anyone what Documentation/sched/sched-design-CFS.txt covers)

    A few years back it was mentioned that these files were no longer really
    needed, and they have since then grown further out of date, so perhaps
    it is time to just throw them out.

    A short status yields the following _outdated_ 00-INDEX files, first
    counter is files listed in 00-INDEX but missing in the directory, last
    is files present but not listed in 00-INDEX.

    List of outdated 00-INDEX:
    Documentation: (4/10)
    Documentation/sysctl: (0/1)
    Documentation/timers: (1/0)
    Documentation/blockdev: (3/1)
    Documentation/w1/slaves: (0/1)
    Documentation/locking: (0/1)
    Documentation/devicetree: (0/5)
    Documentation/power: (1/1)
    Documentation/powerpc: (0/5)
    Documentation/arm: (1/0)
    Documentation/x86: (0/9)
    Documentation/x86/x86_64: (1/1)
    Documentation/scsi: (4/4)
    Documentation/filesystems: (2/9)
    Documentation/filesystems/nfs: (0/2)
    Documentation/cgroup-v1: (0/2)
    Documentation/kbuild: (0/4)
    Documentation/spi: (1/0)
    Documentation/virtual/kvm: (1/0)
    Documentation/scheduler: (0/2)
    Documentation/fb: (0/1)
    Documentation/block: (0/1)
    Documentation/networking: (6/37)
    Documentation/vm: (1/3)

    Then there are 364 subdirectories in Documentation/ with several files that
    are missing 00-INDEX alltogether (and another 120 with a single file and no
    00-INDEX).

    I don't really have an opinion to whether or not we /should/ have 00-INDEX,
    but the above 00-INDEX should either be removed or be kept up to date. If
    we should keep the files, I can try to keep them updated, but I rather not
    if we just want to delete them anyway.

    As a starting point, remove all index-files and references to 00-INDEX and
    see where the discussion is going.

    Signed-off-by: Henrik Austad
    Acked-by: "Paul E. McKenney"
    Just-do-it-by: Steven Rostedt
    Reviewed-by: Jens Axboe
    Acked-by: Paul Moore
    Acked-by: Greg Kroah-Hartman
    Acked-by: Mark Brown
    Acked-by: Mike Rapoport
    Cc: [Almost everybody else]
    Signed-off-by: Jonathan Corbet

    Henrik Austad
     

25 Apr, 2018

3 commits

  • Distributed filesystems are most effective when the server and client
    clocks are synchronised. Embedded devices often use NFS for their
    root filesystem but typically do not contain an RTC, so the clocks of
    the NFS server and the embedded device will be out-of-sync when the root
    filesystem is mounted (and may not be synchronised until late in the
    boot process).

    Extend ipconfig with the ability to export IP addresses of NTP servers
    it discovers to /proc/net/ipconfig/ntp_servers. They can be supplied as
    follows:

    - If ipconfig is configured manually via the "ip=" or "nfsaddrs="
    kernel command line parameters, one NTP server can be specified in
    the new "" parameter.
    - If ipconfig is autoconfigured via DHCP, request DHCP option 42 in
    the DHCPDISCOVER message, and record the IP addresses of up to three
    NTP servers sent by the responding DHCP server in the subsequent
    DHCPOFFER message.

    ipconfig will only write the NTP server IP addresses it discovers to
    /proc/net/ipconfig/ntp_servers, one per line (in the order received from
    the DHCP server, if DHCP autoconfiguration is used); making use of these
    NTP servers is the responsibility of a user space process (e.g. an
    initrd/initram script that invokes an NTP client before mounting an NFS
    root filesystem).

    Signed-off-by: Chris Novakovic
    Signed-off-by: David S. Miller

    Chris Novakovic
     
  • Fully document the format used by the /proc/net/pnp file written by
    ipconfig, explain where its values originate from, and clarify that the
    tertiary name server IP and DNS domain name are only written to the file
    when autoconfiguration is used.

    Signed-off-by: Chris Novakovic
    Signed-off-by: David S. Miller

    Chris Novakovic
     
  • ic_do_bootp_ext() is responsible for parsing the "ip=" and "nfsaddrs="
    kernel parameters. If a "." character is found in parameter 4 (the
    client's hostname), everything before the first "." is used as the
    hostname, and everything after it is used as the NIS domain name (but
    not necessarily the DNS domain name).

    Document this behaviour in Documentation/filesystems/nfs/nfsroot.txt,
    as it is not made explicit.

    Signed-off-by: Chris Novakovic
    Signed-off-by: David S. Miller

    Chris Novakovic
     

26 Dec, 2017

1 commit

  • The original purpose of the per-superblock d_anon list was to
    keep disconnected dentries in the cache between consecutive
    requests to the NFS server. Dentries can be disconnected if
    a client holds a file open and repeatedly performs IO on it,
    and if the server drops the dentry, whether due to memory
    pressure, server restart, or "echo 3 > /proc/sys/vm/drop_caches".

    This purpose was thwarted by commit 75a6f82a0d10 ("freeing unlinked
    file indefinitely delayed") which caused disconnected dentries
    to be freed as soon as their refcount reached zero.

    This means that, when a dentry being used by nfsd gets disconnected, a
    new one needs to be allocated for every request (unless requests
    overlap). As the dentry has no name, no parent, and no children,
    there is little of value to cache. As small memory allocations are
    typically fast (from per-cpu free lists) this likely has little cost.

    This means that the original purpose of s_anon is no longer relevant:
    there is no longer any need to keep disconnected dentries on a list so
    they appear to be hashed.

    However, s_anon now has a new use. When you mount an NFS filesystem,
    the dentry stored in s_root is just a placebo. The "real" root dentry
    is allocated using d_obtain_root() and so it kept on the s_anon list.
    I don't know the reason for this, but suspect it related to NFSv4
    where a mount of "server:/some/path" require NFS to look up the root
    filehandle on the server, then walk down "/some" and "/path" to get
    the filehandle to mount.

    Whatever the reason, NFS depends on the s_anon list and on
    shrink_dcache_for_umount() pruning all dentries on this list. So we
    cannot simply remove s_anon.

    We could just leave the code unchanged, but apart from that being
    potentially confusing, the (unfair) bit-spin-lock which protects
    s_anon can become a bottle neck when lots of disconnected dentries are
    being created.

    So this patch renames s_anon to s_roots, and stops storing
    disconnected dentries on the list. Only dentries obtained with
    d_obtain_root() are now stored on this list. There are many fewer of
    these (only NFS and NILFS2 use the call, and only during filesystem
    mount) so contention on the bit-lock will not be a problem.

    Possibly an alternate solution should be found for NFS and NILFS2, but
    that would require understanding their needs first.

    Signed-off-by: NeilBrown
    Signed-off-by: Al Viro

    NeilBrown
     

19 May, 2017

1 commit


11 May, 2017

1 commit

  • Pull NFS client updates from Trond Myklebust:
    "Highlights include:

    Stable bugfixes:
    - Fix use after free in write error path
    - Use GFP_NOIO for two allocations in writeback
    - Fix a hang in OPEN related to server reboot
    - Check the result of nfs4_pnfs_ds_connect
    - Fix an rcu lock leak

    Features:
    - Removal of the unmaintained and unused OSD pNFS layout
    - Cleanup and removal of lots of unnecessary dprintk()s
    - Cleanup and removal of some memory failure paths now that GFP_NOFS
    is guaranteed to never fail.
    - Remove the v3-only data server limitation on pNFS/flexfiles

    Bugfixes:
    - RPC/RDMA connection handling bugfixes
    - Copy offload: fixes to ensure the copied data is COMMITed to disk.
    - Readdir: switch back to using the ->iterate VFS interface
    - File locking fixes from Ben Coddington
    - Various use-after-free and deadlock issues in pNFS
    - Write path bugfixes"

    * tag 'nfs-for-4.12-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (89 commits)
    pNFS/flexfiles: Always attempt to call layoutstats when flexfiles is enabled
    NFSv4.1: Work around a Linux server bug...
    NFS append COMMIT after synchronous COPY
    NFSv4: Fix exclusive create attributes encoding
    NFSv4: Fix an rcu lock leak
    nfs: use kmap/kunmap directly
    NFS: always treat the invocation of nfs_getattr as cache hit when noac is on
    Fix nfs_client refcounting if kmalloc fails in nfs4_proc_exchange_id and nfs4_proc_async_renew
    NFSv4.1: RECLAIM_COMPLETE must handle NFS4ERR_CONN_NOT_BOUND_TO_SESSION
    pNFS: Fix NULL dereference in pnfs_generic_alloc_ds_commits
    pNFS: Fix a typo in pnfs_generic_alloc_ds_commits
    pNFS: Fix a deadlock when coalescing writes and returning the layout
    pNFS: Don't clear the layout return info if there are segments to return
    pNFS: Ensure we commit the layout if it has been invalidated
    pNFS: Don't send COMMITs to the DSes if the server invalidated our layout
    pNFS/flexfiles: Fix up the ff_layout_write_pagelist failure path
    pNFS: Ensure we check layout validity before marking it for return
    NFS4.1 handle interrupted slot reuse from ERR_DELAY
    NFSv4: check return value of xdr_inline_decode
    nfs/filelayout: fix NULL pointer dereference in fl_pnfs_update_layout()
    ...

    Linus Torvalds
     

21 Apr, 2017

1 commit


30 Mar, 2017

1 commit

  • As ftp.kernel.org is closed [0], this commit fixes dead URLs in
    documents to use www.kernel.org instead.

    [0] https://www.kernel.org/shutting-down-ftp-services.html

    Signed-off-by: SeongJae Park
    Acked-by: Theodore Ts'o
    Acked-by: David S. Miller
    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    SeongJae Park
     

24 Oct, 2016

1 commit


25 Mar, 2016

1 commit

  • Pull more nfsd updates from Bruce Fields:
    "Apologies for the previous request, which omitted the top 8 commits
    from my for-next branch (including the SCSI layout commits). Thanks
    to Trond for spotting my error!"

    This actually includes the new layout types, so here's that part of
    the pull message repeated:

    "Support for a new pnfs layout type from Christoph Hellwig. The new
    layout type is a variant of the block layout which uses SCSI features
    to offer improved fencing and device identification.

    Note this pull request also includes the client side of SCSI layout,
    with Trond's permission"

    * tag 'nfsd-4.6-1' of git://linux-nfs.org/~bfields/linux:
    nfsd: use short read as well as i_size to set eof
    nfsd: better layoutupdate bounds-checking
    nfsd: block and scsi layout drivers need to depend on CONFIG_BLOCK
    nfsd: add SCSI layout support
    nfsd: move some blocklayout code
    nfsd: add a new config option for the block layout driver
    nfs/blocklayout: add SCSI layout support
    nfs4.h: add SCSI layout definitions

    Linus Torvalds
     

18 Mar, 2016

1 commit

  • This is a simple extension to the block layout driver to use SCSI
    persistent reservations for access control and fencing, as well as
    SCSI VPD pages for device identification.

    For this we need to pass the nfs4_client to the proc_getdeviceinfo method
    to generate the reservation key, and add a new fence_client method
    to allow for fence actions in the layout driver.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: J. Bruce Fields

    Christoph Hellwig
     

10 Mar, 2016

1 commit


19 Oct, 2015

1 commit

  • A dhcp server may provide parameters to a client from a pool of IP
    addresses and using a shared rootfs, or provide a specific set of
    parameters for a specific client, usually using the MAC address to
    identify each client individually. The dhcp protocol also specifies
    a client-id field which can be used to determine the correct
    parameters to supply when no MAC address is available. There is
    currently no way to tell the kernel to supply a specific client-id,
    only the userspace dhcp clients support this feature, but this can
    not be used when the network is needed before userspace is available
    such as when the root filesystem is on NFS.

    This patch is to be able to do something like "ip=dhcp,client_id_type,
    client_id_value", as a kernel parameter to enable the kernel to
    identify itself to the server.

    Signed-off-by: Li RongQing
    Signed-off-by: David S. Miller

    Li RongQing
     

21 Jul, 2015

1 commit


05 May, 2015

1 commit


16 Apr, 2015

1 commit


13 Feb, 2015

1 commit

  • Pull nfsd updates from Bruce Fields:
    "The main change is the pNFS block server support from Christoph, which
    allows an NFS client connected to shared disk to do block IO to the
    shared disk in place of NFS reads and writes. This also requires xfs
    patches, which should arrive soon through the xfs tree, barring
    unexpected problems. Support for other filesystems is also possible
    if there's interest.

    Thanks also to Chuck Lever for continuing work to get NFS/RDMA into
    shape"

    * 'for-3.20' of git://linux-nfs.org/~bfields/linux: (32 commits)
    nfsd: default NFSv4.2 to on
    nfsd: pNFS block layout driver
    exportfs: add methods for block layout exports
    nfsd: add trace events
    nfsd: update documentation for pNFS support
    nfsd: implement pNFS layout recalls
    nfsd: implement pNFS operations
    nfsd: make find_any_file available outside nfs4state.c
    nfsd: make find/get/put file available outside nfs4state.c
    nfsd: make lookup/alloc/unhash_stid available outside nfs4state.c
    nfsd: add fh_fsid_match helper
    nfsd: move nfsd_fh_match to nfsfh.h
    fs: add FL_LAYOUT lease type
    fs: track fl_owner for leases
    nfs: add LAYOUT_TYPE_MAX enum value
    nfsd: factor out a helper to decode nfstime4 values
    sunrpc/lockd: fix references to the BKL
    nfsd: fix year-2038 nfs4 state problem
    svcrdma: Handle additional inline content
    svcrdma: Move read list XDR round-up logic
    ...

    Linus Torvalds
     

05 Feb, 2015

1 commit

  • Add a small shim between core nfsd and filesystems to translate the
    somewhat cumbersome pNFS data structures and semantics to something
    more palatable for Linux filesystems.

    Thanks to Rick McNeal for the old prototype pNFS blocklayout server
    code, which gave a lot of inspiration to this version even if no
    code is left from it.

    Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     

04 Feb, 2015

1 commit