From patchwork Mon Jul 26 17:05:29 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 114317 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.4/8.14.3) with ESMTP id o6QH5XQF028070 for ; Mon, 26 Jul 2010 17:05:34 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754645Ab0GZRFd (ORCPT ); Mon, 26 Jul 2010 13:05:33 -0400 Received: from cdptpa-omtalb.mail.rr.com ([75.180.132.120]:47280 "EHLO cdptpa-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754683Ab0GZRFd (ORCPT ); Mon, 26 Jul 2010 13:05:33 -0400 X-Authority-Analysis: v=1.1 cv=vJRpDULq0YkYIrbJCOZOCyAqb32M1QteodnGhKs/5qQ= c=1 sm=0 a=RMtfOuCvFIYA:10 a=ld/erqUjW76FpBUqCqkKeA==:17 a=hGzw-44bAAAA:8 a=BPXOB74rTsBcwNWn7FcA:9 a=MKbopJz7C7pBwOS3BaUA:7 a=UDi54zFgwIfJw9onx156X6SueQIA:4 a=dowx1zmaLagA:10 a=ld/erqUjW76FpBUqCqkKeA==:117 X-Cloudmark-Score: 0 X-Originating-IP: 71.70.153.3 Received: from [71.70.153.3] ([71.70.153.3:47590] helo=mail.poochiereds.net) by cdptpa-oedge04.mail.rr.com (envelope-from ) (ecelerity 2.2.2.39 r()) with ESMTP id 41/36-07882-A50CD4C4; Mon, 26 Jul 2010 17:05:31 +0000 Received: by mail.poochiereds.net (Postfix, from userid 4447) id B85EE58128; Mon, 26 Jul 2010 13:05:30 -0400 (EDT) From: Jeff Layton To: linux-cifs@vger.kernel.org Subject: [PATCH] mount.cifs: handle the "mand" and "nomand" mount options Date: Mon, 26 Jul 2010 13:05:29 -0400 Message-Id: <1280163930-983-2-git-send-email-jlayton@samba.org> X-Mailer: git-send-email 1.7.1.1 In-Reply-To: <1280163930-983-1-git-send-email-jlayton@samba.org> References: <1280163930-983-1-git-send-email-jlayton@samba.org> Sender: linux-cifs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-cifs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Mon, 26 Jul 2010 17:05:34 +0000 (UTC) diff --git a/mount.cifs.c b/mount.cifs.c index c84e72d..1ca9507 100644 --- a/mount.cifs.c +++ b/mount.cifs.c @@ -159,6 +159,8 @@ #define OPT_RO 24 #define OPT_RW 25 #define OPT_REMOUNT 26 +#define OPT_MAND 27 +#define OPT_NOMAND 28 /* struct for holding parsed mount info for use by privleged process */ @@ -822,6 +824,10 @@ static int parse_opt_token(const char *token) return OPT_NO_DEV; if (strncmp(token, "nobrl", 5) == 0 || strncmp(token, "nolock", 6) == 0) return OPT_NO_LOCK; + if (strncmp(token, "mand", 4) == 0) + return OPT_MAND; + if (strncmp(token, "nomand", 6) == 0) + return OPT_NOMAND; if (strncmp(token, "dev", 3) == 0) return OPT_DEV; if (strncmp(token, "noexec", 6) == 0) @@ -1106,6 +1112,12 @@ parse_options(const char *data, struct parsed_mount_info *parsed_info) case OPT_NO_LOCK: *filesys_flags &= ~MS_MANDLOCK; break; + case OPT_MAND: + *filesys_flags |= MS_MANDLOCK; + goto nocopy; + case OPT_NOMAND: + *filesys_flags &= ~MS_MANDLOCK; + goto nocopy; case OPT_DEV: *filesys_flags &= ~MS_NODEV; break;