From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?iso-8859-1?q?G=FCnter_Kukkukk?= Subject: Re: [linux-cifs-client] [PATCH] cifs: fix broken GFP_NOFS usage Date: Sat, 24 May 2008 19:13:50 +0200 Message-ID: <200805241913.51544.linux@kukkukk.com> References: <20080524015409.GA3304@APFDCB5C> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Akinobu Mita , Steve French , linux-fsdevel@vger.kernel.org To: linux-cifs-client@lists.samba.org Return-path: Received: from moutng.kundenserver.de ([212.227.126.174]:52396 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751647AbYEXRQi convert rfc822-to-8bit (ORCPT ); Sat, 24 May 2008 13:16:38 -0400 In-Reply-To: <20080524015409.GA3304@APFDCB5C> Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Am Samstag, 24. Mai 2008 schrieb Akinobu Mita: > Some memory allocations in cifs use GFP_KERNEL | GFP_NOFS as gfs flag= s > but GFP_KERNEL | GFP_NOFS equals to GFP_KERNEL. So these GFP_NOFS hav= e > no effect. >=20 > This patch fixes these flags and also removes unnecessary casts to > mempool_alloc. >=20 > Signed-off-by: Akinobu Mita > Cc: Steve French > Cc: linux-cifs-client@lists.samba.org > --- > fs/cifs/misc.c | 6 ++---- > fs/cifs/transport.c | 3 +-- > 2 files changed, 3 insertions(+), 6 deletions(-) your description above is right, but your patch is wrong (possibly a typo). =46rom gfp.h:=20 #define GFP_NOFS (__GFP_WAIT | __GFP_IO) #define GFP_KERNEL (__GFP_WAIT | __GFP_IO | __GFP_FS) So the current used "GFP_KERNEL | GFP_NOFS" could simply read "GFP_KERNEL". But in your patch you are using "GFP_NOFS" instead. Cheers, G=FCnter >=20 > Index: 2.6-git/fs/cifs/misc.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- 2.6-git.orig/fs/cifs/misc.c > +++ 2.6-git/fs/cifs/misc.c > @@ -150,8 +150,7 @@ cifs_buf_get(void) > but it may be more efficient to always alloc same size > albeit slightly larger than necessary and maxbuffersize > defaults to this and can not be bigger */ > - ret_buf =3D (struct smb_hdr *) mempool_alloc(cifs_req_poolp, > - GFP_KERNEL | GFP_NOFS); > + ret_buf =3D mempool_alloc(cifs_req_poolp, GFP_NOFS); > =20 > /* clear the first few header bytes */ > /* for most paths, more is cleared in header_assemble */ > @@ -188,8 +187,7 @@ cifs_small_buf_get(void) > but it may be more efficient to always alloc same size > albeit slightly larger than necessary and maxbuffersize > defaults to this and can not be bigger */ > - ret_buf =3D (struct smb_hdr *) mempool_alloc(cifs_sm_req_poolp, > - GFP_KERNEL | GFP_NOFS); > + ret_buf =3D mempool_alloc(cifs_sm_req_poolp, GFP_NOFS); > if (ret_buf) { > /* No need to clear memory here, cleared in header assemble */ > /* memset(ret_buf, 0, sizeof(struct smb_hdr) + 27);*/ > Index: 2.6-git/fs/cifs/transport.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- 2.6-git.orig/fs/cifs/transport.c > +++ 2.6-git/fs/cifs/transport.c > @@ -50,8 +50,7 @@ AllocMidQEntry(const struct smb_hdr *smb > return NULL; > } > =20 > - temp =3D (struct mid_q_entry *) mempool_alloc(cifs_mid_poolp, > - GFP_KERNEL | GFP_NOFS); > + temp =3D mempool_alloc(cifs_mid_poolp, GFP_NOFS); > if (temp =3D=3D NULL) > return temp; > else { > _______________________________________________ > linux-cifs-client mailing list > linux-cifs-client@lists.samba.org > https://lists.samba.org/mailman/listinfo/linux-cifs-client >=20 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel= " in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html