|
@@ -857,6 +857,16 @@ _pnfs_return_layout(struct inode *ino)
|
|
|
empty = list_empty(&lo->plh_segs);
|
|
|
pnfs_clear_layoutcommit(ino, &tmp_list);
|
|
|
pnfs_mark_matching_lsegs_invalid(lo, &tmp_list, NULL);
|
|
|
+
|
|
|
+ if (NFS_SERVER(ino)->pnfs_curr_ld->return_range) {
|
|
|
+ struct pnfs_layout_range range = {
|
|
|
+ .iomode = IOMODE_ANY,
|
|
|
+ .offset = 0,
|
|
|
+ .length = NFS4_MAX_UINT64,
|
|
|
+ };
|
|
|
+ NFS_SERVER(ino)->pnfs_curr_ld->return_range(lo, &range);
|
|
|
+ }
|
|
|
+
|
|
|
/* Don't send a LAYOUTRETURN if list was initially empty */
|
|
|
if (empty) {
|
|
|
spin_unlock(&ino->i_lock);
|