|
@@ -1285,6 +1285,8 @@ int ntfs_attr_make_non_resident(ntfs_inode *ni)
|
|
new_size = (i_size_read(vi) + vol->cluster_size - 1) &
|
|
new_size = (i_size_read(vi) + vol->cluster_size - 1) &
|
|
~(vol->cluster_size - 1);
|
|
~(vol->cluster_size - 1);
|
|
if (new_size > 0) {
|
|
if (new_size > 0) {
|
|
|
|
+ runlist_element *rl2;
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Will need the page later and since the page lock nests
|
|
* Will need the page later and since the page lock nests
|
|
* outside all ntfs locks, we need to get the page now.
|
|
* outside all ntfs locks, we need to get the page now.
|
|
@@ -1304,6 +1306,12 @@ int ntfs_attr_make_non_resident(ntfs_inode *ni)
|
|
err);
|
|
err);
|
|
goto page_err_out;
|
|
goto page_err_out;
|
|
}
|
|
}
|
|
|
|
+ /* Change the runlist terminator to LCN_ENOENT. */
|
|
|
|
+ rl2 = rl;
|
|
|
|
+ while (rl2->length)
|
|
|
|
+ rl2++;
|
|
|
|
+ BUG_ON(rl2->lcn != LCN_RL_NOT_MAPPED);
|
|
|
|
+ rl2->lcn = LCN_ENOENT;
|
|
} else {
|
|
} else {
|
|
rl = NULL;
|
|
rl = NULL;
|
|
page = NULL;
|
|
page = NULL;
|