diff options
author | David Howells <dhowells@redhat.com> | 2020-04-16 19:17:13 +0200 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2020-04-24 17:33:32 +0200 |
commit | c4bfda16d1b40d1c5941c61b5aa336bdd2d9904a (patch) | |
tree | 4072cea58ebb9e178ee96fa53818e5b20669f2a6 /fs/afs/rotate.c | |
parent | afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH (diff) | |
download | linux-c4bfda16d1b40d1c5941c61b5aa336bdd2d9904a.tar.xz linux-c4bfda16d1b40d1c5941c61b5aa336bdd2d9904a.zip |
afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate
When an operation is meant to be done uninterruptibly (such as
FS.StoreData), we should not be allowing volume and server record checking
to be interrupted.
Fixes: d2ddc776a458 ("afs: Overhaul volume and server record caching and fileserver rotation")
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/rotate.c')
-rw-r--r-- | fs/afs/rotate.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/afs/rotate.c b/fs/afs/rotate.c index 172ba569cd60..2a3305e42b14 100644 --- a/fs/afs/rotate.c +++ b/fs/afs/rotate.c @@ -192,7 +192,7 @@ bool afs_select_fileserver(struct afs_fs_cursor *fc) write_unlock(&vnode->volume->servers_lock); set_bit(AFS_VOLUME_NEEDS_UPDATE, &vnode->volume->flags); - error = afs_check_volume_status(vnode->volume, fc->key); + error = afs_check_volume_status(vnode->volume, fc); if (error < 0) goto failed_set_error; @@ -281,7 +281,7 @@ bool afs_select_fileserver(struct afs_fs_cursor *fc) set_bit(AFS_VOLUME_WAIT, &vnode->volume->flags); set_bit(AFS_VOLUME_NEEDS_UPDATE, &vnode->volume->flags); - error = afs_check_volume_status(vnode->volume, fc->key); + error = afs_check_volume_status(vnode->volume, fc); if (error < 0) goto failed_set_error; @@ -341,7 +341,7 @@ start: /* See if we need to do an update of the volume record. Note that the * volume may have moved or even have been deleted. */ - error = afs_check_volume_status(vnode->volume, fc->key); + error = afs_check_volume_status(vnode->volume, fc); if (error < 0) goto failed_set_error; |