Showing error 1200

User: Jiri Slaby
Error type: Double Unlock
Error type description: Some lock is unlocked twice unintentionally in a sequence
File location: fs/ntfs/aops.c
Line in file: 1291
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-04-30 10:52:00 UTC


Source:

1261        }
1262        /* Remove the mst protection fixups again. */
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        /* Unlock any locked inodes. */
1275        while (nr_locked_nis-- > 0) {
1276                ntfs_inode *tni, *base_tni;
1277                
1278                tni = locked_nis[nr_locked_nis];
1279                /* Get the base inode. */
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                 * Set page error if there is only one ntfs record in the page.
1301                 * Otherwise we would loose per-record granularity.
Show full sources