1261 }
1262
1263 for (i = 0; i < nr_bhs; i++) {
1264 if (!(i % bhs_per_rec)) {
1265 tbh = bhs[i];
1266 if (!tbh)
1267 continue;
1268 post_write_mst_fixup((NTFS_RECORD*)(kaddr +
1269 bh_offset(tbh)));
1270 }
1271 }
1272 flush_dcache_page(page);
1273unm_done:
1274
1275 while (nr_locked_nis-- > 0) {
1276 ntfs_inode *tni, *base_tni;
1277
1278 tni = locked_nis[nr_locked_nis];
1279
1280 mutex_lock(&tni->extent_lock);
1281 if (tni->nr_extents >= 0)
1282 base_tni = tni;
1283 else {
1284 base_tni = tni->ext.base_ntfs_ino;
1285 BUG_ON(!base_tni);
1286 }
1287 mutex_unlock(&tni->extent_lock);
1288 ntfs_debug("Unlocking %s inode 0x%lx.",
1289 tni == base_tni ? "base" : "extent",
1290 tni->mft_no);
1291 mutex_unlock(&tni->mrec_lock);
1292 atomic_dec(&tni->count);
1293 iput(VFS_I(base_tni));
1294 }
1295 SetPageUptodate(page);
1296 kunmap(page);
1297done:
1298 if (unlikely(err && err != -ENOMEM)) {
1299
1300
1301