lkml.org 
[lkml]   [2003]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    Subjectdo_div considered harmful
    Writing this ide capacity patch an hour ago or so
    I split off a helper sectors_to_MB() since Erik's recent
    patch uses this also.
    Now that I compare, he wrote
    nativeMb = do_div(nativeMb, 1000000);
    to divide nativeMb by 1000000.
    Similarly, I find in fs/cifs/inode.c
    inode->i_blocks = do_div(findData.NumOfBytes, inode->i_blksize);

    So, it seems natural to expect that do_div() gives the quotient.
    But it gives the remainder.
    (Strange, Erik showed correct output.)

    Since the semantics of this object are very unlike that of a C function,
    I wonder whether we should write DO_DIV instead, or DO_DIV_AND_REM
    to show that a remainder is returned.

    Andries
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:47    [W:0.018 / U:0.920 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site