hi Rich -
On 10/1/13 11:30 AM, Rich Johnston wrote:
> From: Phil White <cerise-xfs@xxxxxxxxxxxx>
>
> Add locks around the inventory put to prevent inventory
> corruption.
>
> Signed-off-by: Phil White <cerise-xfs@xxxxxxxxxxxx>
Similar questions here; it says it's thread-safe, but apparently
not. But why not? what happens? Is there a testcase?
(you guys probably have longer history in ptools, maybe you
can see what if anything changed since the original comment
was added - or maybe when it was added, etc?)
Thanks,
-Eric
> diff --git a/dump/content.c b/dump/content.c
> index ac19021..b8977bb 100644
> --- a/dump/content.c
> +++ b/dump/content.c
> @@ -2550,8 +2550,11 @@ decision_more:
> scwhdrp->cih_startpt.sp_offset );
> }
>
> - /* already thread-safe, don't need to lock
> + /* Supposedly already thread-safe, according to the
> + * previous revisions, but corruption of inventory
> + * objects can occur.
> */
> */
> + lock();
> ok = inv_put_mediafile( inv_stmt,
> &mwhdrp->mh_mediaid,
> mwhdrp->mh_medialabel,
> @@ -2565,6 +2568,7 @@ decision_more:
> &&
> ! empty_mediafile,
> BOOL_FALSE );
> + unlock();
> if ( ! ok ) {
> mlog( MLOG_NORMAL, _(
> "inventory media file put failed\n") );
>
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs
>
|