Commit 28d4411f authored by Olga Kornievskaia's avatar Olga Kornievskaia Committed by Anna Schumaker
Browse files

pNFS/filelayout: treat GETDEVICEINFO errors as layout failure



When GETDEVICEINFO call fails, return the layout and fall back to MDS.

Signed-off-by: default avatarOlga Kornievskaia <kolga@netapp.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent 3e2a0368
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;
	}
+1 −1
Original line number Diff line number Diff line
@@ -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__,