[LU-6059] missing unlock in error path of ll_lov_setstripe_ea_info() Created: 19/Dec/14  Updated: 07/Jan/15  Resolved: 07/Jan/15

Status: Closed
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.7.0
Fix Version/s: Lustre 2.7.0

Type: Bug Priority: Critical
Reporter: John Hammond Assignee: John Hammond
Resolution: Fixed Votes: 0
Labels: HB, llite

Severity: 3
Rank (Obsolete): 16873

 Description   

In ll_lov_setstripe_ea_info() we forget to call ll_inode_size_unlock() in the out_req_free error path:

        ll_inode_size_lock(inode);
        oit.it_flags |= MDS_OPEN_BY_FID;
        rc = ll_intent_file_open(file, lum, lum_size, &oit);
        if (rc)
                GOTO(out_unlock, rc);
        rc = oit.d.lustre.it_status;
        if (rc < 0)
                GOTO(out_req_free, rc);

        ll_release_openhandle(file->f_dentry, &oit);

out_unlock:
        ll_inode_size_unlock(inode);
        ll_intent_release(&oit);
        ccc_inode_lsm_put(inode, lsm);
out:
        cl_lov_delay_create_clear(&file->f_flags);
        RETURN(rc);
out_req_free:
        ptlrpc_req_finished((struct ptlrpc_request *) oit.d.lustre.it_data);
        goto out;
}

This was found via code inspection. I didn't check if this path is reachable.



 Comments   
Comment by Gerrit Updater [ 22/Dec/14 ]

John L. Hammond (john.hammond@intel.com) uploaded a new patch: http://review.whamcloud.com/13167
Subject: LU-6059 llite: unlock inode size in ll_lov_setstripe_ea_info()
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 459f3f024eea4f39c4931da09acc2af6c1fa6deb

Comment by Gerrit Updater [ 07/Jan/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/13167/
Subject: LU-6059 llite: unlock inode size in ll_lov_setstripe_ea_info()
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 90cad4dad6c3e5607fa91f830959da4df4a5d434

Comment by John Hammond [ 07/Jan/15 ]

Patch landed to master for 2.7.

Generated at Sat Feb 10 01:56:51 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.