[lkml]   [2004]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch] kref shrinkage patches -- 1 of 2 -- kref shrinkage
    On Wed, Jul 21, 2004 at 02:14:18AM -0400, Greg KH wrote:
    > ...
    > > Just had a question about definition of kref_get though,
    > > why does it need to return struct kref * ? struct kref * is anywayz
    > > being passed to it, hence the caller has it anywayz -- so it doesn't
    > > value add anything afaics (but i might have limited vision so pls correct me)
    > Consistancy with other "get" and "put" functions. It's quite common to
    > do:
    > have_this_foo(foo_get(foo));
    > or:
    > foo_to_send_off = foo_get(foo);

    kref_get is invoked from inside foo_get in such cases no? so foo_get
    can do kref_get and return struct * in usb_serial_get_by_index?

    Even assuming foo_get is altogether replaced with kref_get, which might
    not be a very common case (looking at the current usage, and future usage in
    fget_light etc)
    we will still have to do
    foo_to_send_off = KREF_TO_FOO(kref_get(&foo->kref));
    instead :
    foo_to_send_off = foo;
    is better right? Why use a macro for just one extra line of code....
    Looking at the current usage and looking at refcount 'getters'
    like fget, mntget etc., 'doesn't look like people will use the return
    value from kref_get much anywayz. Since the api is young is it better to
    kill the return value now than let people misuse the return type like in the
    scsi subsystem?

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:04    [W:0.022 / U:1.588 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site