Loading fs/ntfs/ChangeLog +3 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,9 @@ ToDo/Notes: with a 64-bit variable and a int, i.e. 32-bit, constant. This causes the higher order 32-bits of the 64-bit variable to be zeroed. To fix this cast the 'const' to the same 64-bit type as 'var'. - Change the runlist terminator of the newly allocated cluster(s) to LCN_ENOENT in ntfs_attr_make_non_resident(). Otherwise the runlist code gets confused. 2.1.22 - Many bug and race fixes and error handling improvements. Loading fs/ntfs/attrib.c +8 −0 Original line number Diff line number Diff line Loading @@ -1285,6 +1285,8 @@ int ntfs_attr_make_non_resident(ntfs_inode *ni) new_size = (i_size_read(vi) + vol->cluster_size - 1) & ~(vol->cluster_size - 1); if (new_size > 0) { runlist_element *rl2; /* * Will need the page later and since the page lock nests * outside all ntfs locks, we need to get the page now. Loading @@ -1304,6 +1306,12 @@ int ntfs_attr_make_non_resident(ntfs_inode *ni) err); 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 { rl = NULL; page = NULL; Loading Loading
fs/ntfs/ChangeLog +3 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,9 @@ ToDo/Notes: with a 64-bit variable and a int, i.e. 32-bit, constant. This causes the higher order 32-bits of the 64-bit variable to be zeroed. To fix this cast the 'const' to the same 64-bit type as 'var'. - Change the runlist terminator of the newly allocated cluster(s) to LCN_ENOENT in ntfs_attr_make_non_resident(). Otherwise the runlist code gets confused. 2.1.22 - Many bug and race fixes and error handling improvements. Loading
fs/ntfs/attrib.c +8 −0 Original line number Diff line number Diff line Loading @@ -1285,6 +1285,8 @@ int ntfs_attr_make_non_resident(ntfs_inode *ni) new_size = (i_size_read(vi) + vol->cluster_size - 1) & ~(vol->cluster_size - 1); if (new_size > 0) { runlist_element *rl2; /* * Will need the page later and since the page lock nests * outside all ntfs locks, we need to get the page now. Loading @@ -1304,6 +1306,12 @@ int ntfs_attr_make_non_resident(ntfs_inode *ni) err); 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 { rl = NULL; page = NULL; Loading