lkml.org 
[lkml]   [2008]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] UBIFS: make ubifs_ro_mode() not inline
    Date
    From: Adrian Hunter <ext-adrian.hunter@nokia.com>

    We use ubifs_ro_mode() quite a lot, and not in fast-path, so
    there is no reason to blow the code up by having it inlined.
    Also, we usually want R/O mode change to be seen to other
    CPUs as soon as possible, so when we make this a function
    call, we will automatically have a memory barrier.

    Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
    ---
    fs/ubifs/io.c | 14 ++++++++++++++
    fs/ubifs/misc.h | 14 --------------
    fs/ubifs/ubifs.h | 1 +
    3 files changed, 15 insertions(+), 14 deletions(-)

    diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c
    index 3374f91..054363f 100644
    --- a/fs/ubifs/io.c
    +++ b/fs/ubifs/io.c
    @@ -54,6 +54,20 @@
    #include "ubifs.h"

    /**
    + * ubifs_ro_mode - switch UBIFS to read read-only mode.
    + * @c: UBIFS file-system description object
    + * @err: error code which is the reason of switching to R/O mode
    + */
    +void ubifs_ro_mode(struct ubifs_info *c, int err)
    +{
    + if (!c->ro_media) {
    + c->ro_media = 1;
    + ubifs_warn("switched to read-only mode, error %d", err);
    + dbg_dump_stack();
    + }
    +}
    +
    +/**
    * ubifs_check_node - check node.
    * @c: UBIFS file-system description object
    * @buf: node to check
    diff --git a/fs/ubifs/misc.h b/fs/ubifs/misc.h
    index 4beccfc..cd83ffc 100644
    --- a/fs/ubifs/misc.h
    +++ b/fs/ubifs/misc.h
    @@ -80,20 +80,6 @@ static inline struct ubifs_inode *ubifs_inode(const struct inode *inode)
    }

    /**
    - * ubifs_ro_mode - switch UBIFS to read read-only mode.
    - * @c: UBIFS file-system description object
    - * @err: error code which is the reason of switching to R/O mode
    - */
    -static inline void ubifs_ro_mode(struct ubifs_info *c, int err)
    -{
    - if (!c->ro_media) {
    - c->ro_media = 1;
    - ubifs_warn("switched to read-only mode, error %d", err);
    - dbg_dump_stack();
    - }
    -}
    -
    -/**
    * ubifs_compr_present - check if compressor was compiled in.
    * @compr_type: compressor type to check
    *
    diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
    index e4f89f2..c488d43 100644
    --- a/fs/ubifs/ubifs.h
    +++ b/fs/ubifs/ubifs.h
    @@ -1346,6 +1346,7 @@ extern struct backing_dev_info ubifs_backing_dev_info;
    extern struct ubifs_compressor *ubifs_compressors[UBIFS_COMPR_TYPES_CNT];

    /* io.c */
    +void ubifs_ro_mode(struct ubifs_info *c, int err);
    int ubifs_wbuf_write_nolock(struct ubifs_wbuf *wbuf, void *buf, int len);
    int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs,
    int dtype);
    --
    1.5.4.1


    \
     
     \ /
      Last update: 2008-08-13 10:43    [W:2.238 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site