mirror of
https://github.com/torvalds/linux.git
synced 2024-12-30 23:02:08 +00:00
pNFS/filelayout: treat GETDEVICEINFO errors as layout failure
When GETDEVICEINFO call fails, return the layout and fall back to MDS. Signed-off-by: Olga Kornievskaia <kolga@netapp.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
3e2a036827
commit
28d4411fc3
@ -862,6 +862,8 @@ fl_pnfs_update_layout(struct inode *ino,
|
||||
|
||||
status = filelayout_check_deviceid(lo, fl, gfp_flags);
|
||||
if (status) {
|
||||
pnfs_error_mark_layout_for_return(ino, lseg);
|
||||
pnfs_set_lo_fail(lseg);
|
||||
pnfs_put_lseg(lseg);
|
||||
lseg = NULL;
|
||||
}
|
||||
|
@ -511,7 +511,7 @@ pnfs_layout_io_set_failed(struct pnfs_layout_hdr *lo, u32 iomode)
|
||||
|
||||
spin_lock(&inode->i_lock);
|
||||
pnfs_layout_set_fail_bit(lo, pnfs_iomode_to_fail_bit(iomode));
|
||||
pnfs_mark_matching_lsegs_invalid(lo, &head, &range, 0);
|
||||
pnfs_mark_matching_lsegs_return(lo, &head, &range, 0);
|
||||
spin_unlock(&inode->i_lock);
|
||||
pnfs_free_lseg_list(&head);
|
||||
dprintk("%s Setting layout IOMODE_%s fail bit\n", __func__,
|
||||
|
Loading…
Reference in New Issue
Block a user