From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Subject: Re: [PATCH] fs: make block fiemap mapping length at least blocksize long Date: Tue, 01 Feb 2011 11:46:50 +0000 Message-ID: <1296560810.2586.12.camel@dolmen> References: <1291827790-21377-1-git-send-email-josef@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org To: Josef Bacik Return-path: Received: from mx1.redhat.com ([209.132.183.28]:65480 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754634Ab1BALpS (ORCPT ); Tue, 1 Feb 2011 06:45:18 -0500 In-Reply-To: <1291827790-21377-1-git-send-email-josef@redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hi, Is there any reason this cannot be sent to Linus now? Steve. On Wed, 2010-12-08 at 12:03 -0500, Josef Bacik wrote: > Some filesystems don't deal well with being asked to map less than blocksize > blocks (GFS2 for example). Since we are always mapping at least blocksize > sections anyway, just make sure len is at least as big as a blocksize so we > don't trip up any filesystems. Thanks, > > Signed-off-by: Josef Bacik > --- > fs/ioctl.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/fs/ioctl.c b/fs/ioctl.c > index d6cc164..6b53c24 100644 > --- a/fs/ioctl.c > +++ b/fs/ioctl.c > @@ -273,6 +273,13 @@ int __generic_block_fiemap(struct inode *inode, > len = isize; > } > > + /* > + * Some filesystems can't deal with being asked to map less than > + * blocksize, so make sure our len is at least block length. > + */ > + if (logical_to_blk(inode, len) == 0) > + len = blk_to_logical(inode, 1); > + > start_blk = logical_to_blk(inode, start); > last_blk = logical_to_blk(inode, start + len - 1); >