lkml.org 
[lkml]   [2007]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectPATCH [4/5] fs/locks.c: use list_for_each_entry() instead of list_for_each()
    fs/locks.c: use list_for_each_entry() instead of list_for_each() in
    posix_locks_deadlock() and get_locks_status()

    Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>

    --

    diff --git a/fs/locks.c b/fs/locks.c
    index 431a8b8..d09c6bd 100644
    --- a/fs/locks.c
    +++ b/fs/locks.c
    @@ -702,13 +702,12 @@ EXPORT_SYMBOL(posix_test_lock);
    static int posix_locks_deadlock(struct file_lock *caller_fl,
    struct file_lock *block_fl)
    {
    - struct list_head *tmp;
    + struct file_lock *fl;

    next_task:
    if (posix_same_owner(caller_fl, block_fl))
    return 1;
    - list_for_each(tmp, &blocked_list) {
    - struct file_lock *fl = list_entry(tmp, struct file_lock, fl_link);
    + list_for_each_entry(fl, &blocked_list, fl_link) {
    if (posix_same_owner(fl, block_fl)) {
    fl = fl->fl_next;
    block_fl = fl;
    @@ -2159,24 +2158,22 @@ static void move_lock_status(char **p, off_t* pos, off_t offset)

    int get_locks_status(char *buffer, char **start, off_t offset, int length)
    {
    - struct list_head *tmp;
    + struct file_lock *fl;
    char *q = buffer;
    off_t pos = 0;
    int i = 0;

    lock_kernel();
    - list_for_each(tmp, &file_lock_list) {
    - struct list_head *btmp;
    - struct file_lock *fl = list_entry(tmp, struct file_lock, fl_link);
    + list_for_each_entry(fl, &file_lock_list, fl_link) {
    + struct file_lock *bfl;
    +
    lock_get_status(q, fl, ++i, "");
    move_lock_status(&q, &pos, offset);

    if(pos >= offset+length)
    goto done;

    - list_for_each(btmp, &fl->fl_block) {
    - struct file_lock *bfl = list_entry(btmp,
    - struct file_lock, fl_block);
    + list_for_each_entry(bfl, &fl->fl_block, fl_block) {
    lock_get_status(q, bfl, i, " ->");
    move_lock_status(&q, &pos, offset);

    --
    Matthias Kaehlcke
    Linux Application Developer
    Barcelona
    I am incapable of conceiving infinity, and yet I do not accept finity
    (Simone de Beauvoir)
    .''`.
    using free software / Debian GNU/Linux | http://debian.org : :' :
    `. `'`
    gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-
    -
    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: 2007-07-15 21:07    [W:0.022 / U:125.100 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site