From: Sage Weil Date: Sat, 20 Sep 2008 20:37:11 +0000 (-0700) Subject: kclient: fix up safe/unsafe writeback flags X-Git-Tag: v0.4~91 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c67f2c21ef839bb754eed42fae442b942b29fb78;p=ceph.git kclient: fix up safe/unsafe writeback flags --- diff --git a/src/kernel/osd_client.c b/src/kernel/osd_client.c index 27002f8e635e..5f313da3abd1 100644 --- a/src/kernel/osd_client.c +++ b/src/kernel/osd_client.c @@ -911,7 +911,7 @@ int ceph_osdc_writepages(struct ceph_osd_client *osdc, struct ceph_vino vino, } reqhead = reqm->front.iov_base; - if (osdc->client->mount_args.flags & CEPH_MOUNT_UNSAFE_WRITES) + if (osdc->client->mount_args.flags & CEPH_MOUNT_UNSAFE_WRITEBACK) reqhead->flags = CEPH_OSD_OP_ACK; else reqhead->flags = CEPH_OSD_OP_SAFE; diff --git a/src/kernel/super.c b/src/kernel/super.c index f96caab3ec75..61fd95ac92ed 100644 --- a/src/kernel/super.c +++ b/src/kernel/super.c @@ -370,7 +370,8 @@ enum { Opt_mount_timeout, /* int args above */ Opt_ip, - Opt_unsafewrites, + Opt_unsafewriteback, + Opt_safewriteback, Opt_dirstat, Opt_nodirstat, Opt_rbytes, @@ -397,7 +398,8 @@ static match_table_t arg_tokens = { /* int args above */ {Opt_ip, "ip=%s"}, {Opt_debug_console, "debug_console"}, - {Opt_unsafewrites, "unsafewrites"}, + {Opt_unsafewriteback, "unsafewriteback"}, + {Opt_safewriteback, "safewriteback"}, {Opt_dirstat, "dirstat"}, {Opt_nodirstat, "nodirstat"}, {Opt_rbytes, "rbytes"}, @@ -570,8 +572,12 @@ static int parse_mount_args(int flags, char *options, const char *dev_name, case Opt_mount_timeout: args->mount_timeout = intval; break; - case Opt_unsafewrites: - args->flags |= CEPH_MOUNT_UNSAFE_WRITES; + + case Opt_unsafewriteback: + args->flags |= CEPH_MOUNT_UNSAFE_WRITEBACK; + break; + case Opt_safewriteback: + args->flags &= ~CEPH_MOUNT_UNSAFE_WRITEBACK; break; case Opt_dirstat: diff --git a/src/kernel/super.h b/src/kernel/super.h index c4613c0e99ce..f34946b3809b 100644 --- a/src/kernel/super.h +++ b/src/kernel/super.h @@ -91,12 +91,12 @@ static inline unsigned long time_sub(unsigned long a, unsigned long b) #define CEPH_MOUNT_FSID (1<<0) #define CEPH_MOUNT_NOSHARE (1<<1) /* don't share client with other sbs */ #define CEPH_MOUNT_MYIP (1<<2) /* specified my ip */ -#define CEPH_MOUNT_UNSAFE_WRITES (1<<3) +#define CEPH_MOUNT_UNSAFE_WRITEBACK (1<<3) #define CEPH_MOUNT_DIRSTAT (1<<4) #define CEPH_MOUNT_RBYTES (1<<5) #define CEPH_MOUNT_DEFAULT (CEPH_MOUNT_RBYTES | \ - CEPH_MOUNT_UNSAFE_WRITES) + CEPH_MOUNT_UNSAFE_WRITEBACK) /* just for now */ struct ceph_mount_args { int sb_flags;