Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#151 non-paired lock/unlock in cfs_commit_inode

v2.0.0pre1
closed-fixed
nobody
Filesystem (49)
5
2008-01-07
2008-01-04
Anonymous
No

In openssi/kernel/cluster/ssi/cfs/write.c we have:

int cfs_commit_inode(struct inode *inode, unsigned long idx_start,
unsigned int npages, int how)
{
[...]
spin_lock(&cfs_wreq_lock);
res = cfs_scan_commit(inode, &head, idx_start, npages);
spin_unlock(&cfs_wreq_lock);
if (res) {
res += cfs_scan_commit(inode, &head, 0, 0);
spin_unlock(&cfs_wreq_lock);
error = cfs_commit_list(&head, how);
} else
spin_unlock(&cfs_wreq_lock);

Looks like we're unlocking cfs_wreq_lock too many times.

Discussion

  • Logged In: NO

    Since KERNEL2613 is defined by default this bug only affects those who #undef KERNEL2613.

     
  • John Hughes
    John Hughes
    2008-01-04

    Logged In: YES
    user_id=166336
    Originator: NO

    Aha, I'm working in a kernel that doesn't have the backported KERNEL2613 stuff.

    But it's still a bug.

     
  • Roger Tsang
    Roger Tsang
    2008-01-05

    • status: open --> open-fixed
     
  • Roger Tsang
    Roger Tsang
    2008-01-07

    • status: open-fixed --> closed-fixed