lkml.org 
[lkml]   [2007]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 013 of 20] knfsd: nfsd: factor out code from show_expflags

    From: J. Bruce Fields <bfields@citi.umich.edu>

    Factor out some code to be shared by secinfo display code. Remove some
    unnecessary conditional printing of commas where we know the condition
    is true.

    Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
    Signed-off-by: Neil Brown <neilb@suse.de>

    ### Diffstat output
    ./fs/nfsd/export.c | 23 +++++++++++++++--------
    1 file changed, 15 insertions(+), 8 deletions(-)

    diff .prev/fs/nfsd/export.c ./fs/nfsd/export.c
    --- .prev/fs/nfsd/export.c 2007-07-10 11:39:34.000000000 +1000
    +++ ./fs/nfsd/export.c 2007-07-10 11:46:05.000000000 +1000
    @@ -1453,28 +1453,35 @@ static struct flags {
    { 0, {"", ""}}
    };

    -static void exp_flags(struct seq_file *m, int flag, int fsid,
    - uid_t anonu, uid_t anong, struct nfsd4_fs_locations *fsloc)
    +static void show_expflags(struct seq_file *m, int flags, int mask)
    {
    - int first = 0;
    struct flags *flg;
    + int state, first = 0;

    for (flg = expflags; flg->flag; flg++) {
    - int state = (flg->flag & flag)?0:1;
    + if (flg->flag & ~mask)
    + continue;
    + state = (flg->flag & flags) ? 0 : 1;
    if (*flg->name[state])
    seq_printf(m, "%s%s", first++?",":"", flg->name[state]);
    }
    +}
    +
    +static void exp_flags(struct seq_file *m, int flag, int fsid,
    + uid_t anonu, uid_t anong, struct nfsd4_fs_locations *fsloc)
    +{
    + show_expflags(m, flag, NFSEXP_ALLFLAGS);
    if (flag & NFSEXP_FSID)
    - seq_printf(m, "%sfsid=%d", first++?",":"", fsid);
    + seq_printf(m, ",fsid=%d", fsid);
    if (anonu != (uid_t)-2 && anonu != (0x10000-2))
    - seq_printf(m, "%sanonuid=%d", first++?",":"", anonu);
    + seq_printf(m, ",sanonuid=%d", anonu);
    if (anong != (gid_t)-2 && anong != (0x10000-2))
    - seq_printf(m, "%sanongid=%d", first++?",":"", anong);
    + seq_printf(m, ",sanongid=%d", anong);
    if (fsloc && fsloc->locations_count > 0) {
    char *loctype = (fsloc->migrated) ? "refer" : "replicas";
    int i;

    - seq_printf(m, "%s%s=", first++?",":"", loctype);
    + seq_printf(m, ",%s=", loctype);
    seq_escape(m, fsloc->locations[0].path, ",;@ \t\n\\");
    seq_putc(m, '@');
    seq_escape(m, fsloc->locations[0].hosts, ",;@ \t\n\\");
    -
    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-10 04:31    [W:0.022 / U:59.496 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site