Messages in this thread | | | From | David Howells <> | Subject | | Date | Fri, 24 Nov 2023 15:16:00 +0000 |
| |
Hi Linus,
Here are a set of miscellaneous small fixes to the afs filesystem including:
(1) Fix the afs_server_list struct to be cleaned up with RCU.
(2) Fix afs to translate a no-data result from a DNS lookup into ENOENT, not EDESTADDRREQ for consistency with OpenAFS.
(3) Fix afs to translate a negative DNS lookup result into ENOENT rather than EDESTADDRREQ.
(4) Fix file locking on R/O volumes to operate in local mode as the server doesn't handle exclusive locks on such files.
(5) Set SB_RDONLY on superblocks for RO and Backup volumes so that the VFS can see that they're read only.
Btw, I did want to ask about (5): Does a superblock being marked SB_RDONLY imply immutability to the application? A 'read only' AFS volume is a snapshot of a writable volume and can be updated. It's only read-only in the sense you can't perform normal filesystem modification ops on it.
Link: https://lore.kernel.org/r/20231116155312.156593-1-dhowells@redhat.com/ # v1 Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
Thanks, David
--- The following changes since commit 76df934c6d5f5c93ba7a0112b1818620ddc10b19:
MAINTAINERS: Add netdev subsystem profile link (2023-11-17 03:44:21 +0000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20231124
for you to fetch changes up to 68516f60c1d8b0a71e516d630f66b99cb50e0150:
afs: Mark a superblock for an R/O or Backup volume as SB_RDONLY (2023-11-24 14:52:24 +0000)
---------------------------------------------------------------- AFS Fixes
---------------------------------------------------------------- David Howells (5): afs: Fix afs_server_list to be cleaned up with RCU afs: Make error on cell lookup failure consistent with OpenAFS afs: Return ENOENT if no cell DNS record can be found afs: Fix file locking on R/O volumes to operate in local mode afs: Mark a superblock for an R/O or Backup volume as SB_RDONLY
fs/afs/dynroot.c | 4 ++-- fs/afs/internal.h | 1 + fs/afs/server_list.c | 2 +- fs/afs/super.c | 4 ++++ fs/afs/vl_rotate.c | 10 ++++++++++ 5 files changed, 18 insertions(+), 3 deletions(-)
| |