1. 11 Jul, 2022 1 commit
    • Chuck Lever's avatar
      NFSD: Decode NFSv4 birth time attribute · 5b2f3e07
      Chuck Lever authored
      NFSD has advertised support for the NFSv4 time_create attribute
      since commit e377a3e6 ("nfsd: Add support for the birth time
      attribute").
      
      Igor Mammedov reports that Mac OS clients attempt to set the NFSv4
      birth time attribute via OPEN(CREATE) and SETATTR if the server
      indicates that it supports it, but since the above commit was
      merged, those attempts now fail.
      
      Table 5 in RFC 8881 lists the time_create attribute as one that can
      be both set and retrieved, but the above commit did not add server
      support for clients to provide a time_create attribute. IMO that's
      a bug in our implementation of the NFSv4 protocol, which this commit
      addresses.
      
      Whether NFSD silently ignores the new birth time or actually sets it
      is another matter. I haven't found another filesystem service in the
      Linux kernel that enables users or clients to modify a file's birth
      time attribute.
      
      This commit reflects my (perhaps incorrect) understanding of whether
      Linux users can set a file's birth time. NFSD will now recognize a
      time_create attribute but it ignores its value. It clears the
      time_create bit in the returned attribute bitmask to indicate that
      the value was not used.
      Reported-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Fixes: e377a3e6 ("nfsd: Add support for the birth time attribute")
      Tested-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      5b2f3e07
  2. 30 Jun, 2022 1 commit
  3. 27 Jun, 2022 1 commit
  4. 08 Jun, 2022 5 commits
  5. 02 Jun, 2022 2 commits
  6. 29 May, 2022 1 commit
  7. 26 May, 2022 4 commits
  8. 23 May, 2022 10 commits
  9. 20 May, 2022 7 commits
  10. 19 May, 2022 8 commits