* [PATCH 0/2] xfs: kill m_maxioffset
@ 2012-06-08 5:44 Dave Chinner
2012-06-08 5:44 ` [PATCH 1/2] xfs: m_maxioffset is redundant Dave Chinner
2012-06-08 5:44 ` [PATCH 2/2] xfs: make largest supported offset less shouty Dave Chinner
0 siblings, 2 replies; 5+ messages in thread
From: Dave Chinner @ 2012-06-08 5:44 UTC (permalink / raw)
To: xfs
This patchset cleans up the largest supported offset checks. That
information is at the VFS level, so we don't need to keep duplicates
in the struct xfs_mount, nor do we need a macro to access it.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] xfs: m_maxioffset is redundant
2012-06-08 5:44 [PATCH 0/2] xfs: kill m_maxioffset Dave Chinner
@ 2012-06-08 5:44 ` Dave Chinner
2012-06-08 14:02 ` Eric Sandeen
2012-06-08 5:44 ` [PATCH 2/2] xfs: make largest supported offset less shouty Dave Chinner
1 sibling, 1 reply; 5+ messages in thread
From: Dave Chinner @ 2012-06-08 5:44 UTC (permalink / raw)
To: xfs
From: Dave Chinner <dchinner@redhat.com>
The m_maxioffset field in the struct xfs_mount contains the same
value as the superblock s_maxbytes field. There is no need to carry
two copies of this limit around, so use the VFS superblock version.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
---
fs/xfs/xfs_aops.c | 12 ++++++------
fs/xfs/xfs_iomap.c | 4 ++--
fs/xfs/xfs_mount.c | 2 --
fs/xfs/xfs_mount.h | 3 +--
4 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
index a1295e5..5f7de20 100644
--- a/fs/xfs/xfs_aops.c
+++ b/fs/xfs/xfs_aops.c
@@ -323,10 +323,10 @@ xfs_map_blocks(
ASSERT(ip->i_d.di_format != XFS_DINODE_FMT_BTREE ||
(ip->i_df.if_flags & XFS_IFEXTENTS));
- ASSERT(offset <= mp->m_maxioffset);
+ ASSERT(offset <= mp->m_super->s_maxbytes);
- if (offset + count > mp->m_maxioffset)
- count = mp->m_maxioffset - offset;
+ if (offset + count > mp->m_super->s_maxbytes)
+ count = mp->m_super->s_maxbytes - offset;
end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + count);
offset_fsb = XFS_B_TO_FSBT(mp, offset);
error = xfs_bmapi_read(ip, offset_fsb, end_fsb - offset_fsb,
@@ -1156,9 +1156,9 @@ __xfs_get_blocks(
lockmode = xfs_ilock_map_shared(ip);
}
- ASSERT(offset <= mp->m_maxioffset);
- if (offset + size > mp->m_maxioffset)
- size = mp->m_maxioffset - offset;
+ ASSERT(offset <= mp->m_super->s_maxbytes);
+ if (offset + size > mp->m_super->s_maxbytes)
+ size = mp->m_super->s_maxbytes - offset;
end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + size);
offset_fsb = XFS_B_TO_FSBT(mp, offset);
diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
index aadfce6..4590cd1 100644
--- a/fs/xfs/xfs_iomap.c
+++ b/fs/xfs/xfs_iomap.c
@@ -416,8 +416,8 @@ retry:
* Make sure preallocation does not create extents beyond the range we
* actually support in this filesystem.
*/
- if (last_fsb > XFS_B_TO_FSB(mp, mp->m_maxioffset))
- last_fsb = XFS_B_TO_FSB(mp, mp->m_maxioffset);
+ if (last_fsb > XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes))
+ last_fsb = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
ASSERT(last_fsb > offset_fsb);
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index 536021f..9536fd1 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -1200,8 +1200,6 @@ xfs_mountfs(
xfs_set_maxicount(mp);
- mp->m_maxioffset = xfs_max_file_offset(sbp->sb_blocklog);
-
error = xfs_uuid_mount(mp);
if (error)
goto out;
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
index 8b89c5a..47c6b3b 100644
--- a/fs/xfs/xfs_mount.h
+++ b/fs/xfs/xfs_mount.h
@@ -176,7 +176,6 @@ typedef struct xfs_mount {
uint m_qflags; /* quota status flags */
xfs_trans_reservations_t m_reservations;/* precomputed res values */
__uint64_t m_maxicount; /* maximum inode count */
- __uint64_t m_maxioffset; /* maximum inode offset */
__uint64_t m_resblks; /* total reserved blocks */
__uint64_t m_resblks_avail;/* available reserved blocks */
__uint64_t m_resblks_save; /* reserved blks @ remount,ro */
@@ -297,7 +296,7 @@ xfs_preferred_iosize(xfs_mount_t *mp)
PAGE_CACHE_SIZE));
}
-#define XFS_MAXIOFFSET(mp) ((mp)->m_maxioffset)
+#define XFS_MAXIOFFSET(mp) ((mp)->m_super->s_maxbytes)
#define XFS_LAST_UNMOUNT_WAS_CLEAN(mp) \
((mp)->m_flags & XFS_MOUNT_WAS_CLEAN)
--
1.7.10
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] xfs: make largest supported offset less shouty
2012-06-08 5:44 [PATCH 0/2] xfs: kill m_maxioffset Dave Chinner
2012-06-08 5:44 ` [PATCH 1/2] xfs: m_maxioffset is redundant Dave Chinner
@ 2012-06-08 5:44 ` Dave Chinner
2012-06-08 14:08 ` Eric Sandeen
1 sibling, 1 reply; 5+ messages in thread
From: Dave Chinner @ 2012-06-08 5:44 UTC (permalink / raw)
To: xfs
From: Dave Chinner <dchinner@redhat.com>
XFS_MAXIOFFSET() is just a simple macro that resolves to
mp->m_maxioffset. It doesn't need to exist, and it just makes the
code unnecessarily loud and shouty.
Make it quiet and easy to read.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
---
fs/xfs/xfs_bmap.c | 2 +-
fs/xfs/xfs_file.c | 2 +-
fs/xfs/xfs_inode.c | 2 +-
fs/xfs/xfs_iomap.c | 2 +-
fs/xfs/xfs_mount.h | 2 --
fs/xfs/xfs_qm.c | 2 +-
fs/xfs/xfs_vnodeops.c | 10 +++++-----
7 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c
index 58b815e..848ffa7 100644
--- a/fs/xfs/xfs_bmap.c
+++ b/fs/xfs/xfs_bmap.c
@@ -5517,7 +5517,7 @@ xfs_getbmap(
if (xfs_get_extsz_hint(ip) ||
ip->i_d.di_flags & (XFS_DIFLAG_PREALLOC|XFS_DIFLAG_APPEND)){
prealloced = 1;
- fixlen = XFS_MAXIOFFSET(mp);
+ fixlen = mp->m_super->s_maxbytes;
} else {
prealloced = 0;
fixlen = XFS_ISIZE(ip);
diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
index 2b18ea1..bcb97dc 100644
--- a/fs/xfs/xfs_file.c
+++ b/fs/xfs/xfs_file.c
@@ -273,7 +273,7 @@ xfs_file_aio_read(
}
}
- n = XFS_MAXIOFFSET(mp) - iocb->ki_pos;
+ n = mp->m_super->s_maxbytes - iocb->ki_pos;
if (n <= 0 || size == 0)
return 0;
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index 5c6ea39..fa49d80 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -1225,7 +1225,7 @@ xfs_itruncate_extents(
* then there is nothing to do.
*/
first_unmap_block = XFS_B_TO_FSB(mp, (xfs_ufsize_t)new_size);
- last_block = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_MAXIOFFSET(mp));
+ last_block = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
if (first_unmap_block == last_block)
return 0;
diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
index 4590cd1..915edf6 100644
--- a/fs/xfs/xfs_iomap.c
+++ b/fs/xfs/xfs_iomap.c
@@ -285,7 +285,7 @@ xfs_iomap_eof_want_preallocate(
* do any speculative allocation.
*/
start_fsb = XFS_B_TO_FSBT(mp, ((xfs_ufsize_t)(offset + count - 1)));
- count_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_MAXIOFFSET(mp));
+ count_fsb = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
while (count_fsb > 0) {
imaps = nimaps;
firstblock = NULLFSBLOCK;
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
index 47c6b3b..90a4530 100644
--- a/fs/xfs/xfs_mount.h
+++ b/fs/xfs/xfs_mount.h
@@ -296,8 +296,6 @@ xfs_preferred_iosize(xfs_mount_t *mp)
PAGE_CACHE_SIZE));
}
-#define XFS_MAXIOFFSET(mp) ((mp)->m_super->s_maxbytes)
-
#define XFS_LAST_UNMOUNT_WAS_CLEAN(mp) \
((mp)->m_flags & XFS_MOUNT_WAS_CLEAN)
#define XFS_FORCED_SHUTDOWN(mp) ((mp)->m_flags & XFS_MOUNT_FS_SHUTDOWN)
diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c
index 249db19..2e86fa0 100644
--- a/fs/xfs/xfs_qm.c
+++ b/fs/xfs/xfs_qm.c
@@ -940,7 +940,7 @@ xfs_qm_dqiterate(
map = kmem_alloc(XFS_DQITER_MAP_SIZE * sizeof(*map), KM_SLEEP);
lblkno = 0;
- maxlblkcnt = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_MAXIOFFSET(mp));
+ maxlblkcnt = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
do {
nmaps = XFS_DQITER_MAP_SIZE;
/*
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
index b6a82d8..c22f4e0 100644
--- a/fs/xfs/xfs_vnodeops.c
+++ b/fs/xfs/xfs_vnodeops.c
@@ -174,7 +174,7 @@ xfs_free_eofblocks(
* of the file. If not, then there is nothing to do.
*/
end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_ISIZE(ip));
- last_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_MAXIOFFSET(mp));
+ last_fsb = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
if (last_fsb <= end_fsb)
return 0;
map_len = last_fsb - end_fsb;
@@ -2262,10 +2262,10 @@ xfs_change_file_space(
llen = bf->l_len > 0 ? bf->l_len - 1 : bf->l_len;
- if ( (bf->l_start < 0)
- || (bf->l_start > XFS_MAXIOFFSET(mp))
- || (bf->l_start + llen < 0)
- || (bf->l_start + llen > XFS_MAXIOFFSET(mp)))
+ if (bf->l_start < 0 ||
+ bf->l_start > mp->m_super->s_maxbytes ||
+ bf->l_start + llen < 0 ||
+ bf->l_start + llen > mp->m_super->s_maxbytes)
return XFS_ERROR(EINVAL);
bf->l_whence = 0;
--
1.7.10
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] xfs: m_maxioffset is redundant
2012-06-08 5:44 ` [PATCH 1/2] xfs: m_maxioffset is redundant Dave Chinner
@ 2012-06-08 14:02 ` Eric Sandeen
0 siblings, 0 replies; 5+ messages in thread
From: Eric Sandeen @ 2012-06-08 14:02 UTC (permalink / raw)
To: Dave Chinner; +Cc: xfs
On 6/8/12 12:44 AM, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> The m_maxioffset field in the struct xfs_mount contains the same
> value as the superblock s_maxbytes field. There is no need to carry
> two copies of this limit around, so use the VFS superblock version.
>
> Signed-off-by: Dave Chinner <dchinner@redhat.com>
Looks fine to me.
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
> ---
> fs/xfs/xfs_aops.c | 12 ++++++------
> fs/xfs/xfs_iomap.c | 4 ++--
> fs/xfs/xfs_mount.c | 2 --
> fs/xfs/xfs_mount.h | 3 +--
> 4 files changed, 9 insertions(+), 12 deletions(-)
>
> diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
> index a1295e5..5f7de20 100644
> --- a/fs/xfs/xfs_aops.c
> +++ b/fs/xfs/xfs_aops.c
> @@ -323,10 +323,10 @@ xfs_map_blocks(
>
> ASSERT(ip->i_d.di_format != XFS_DINODE_FMT_BTREE ||
> (ip->i_df.if_flags & XFS_IFEXTENTS));
> - ASSERT(offset <= mp->m_maxioffset);
> + ASSERT(offset <= mp->m_super->s_maxbytes);
>
> - if (offset + count > mp->m_maxioffset)
> - count = mp->m_maxioffset - offset;
> + if (offset + count > mp->m_super->s_maxbytes)
> + count = mp->m_super->s_maxbytes - offset;
> end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + count);
> offset_fsb = XFS_B_TO_FSBT(mp, offset);
> error = xfs_bmapi_read(ip, offset_fsb, end_fsb - offset_fsb,
> @@ -1156,9 +1156,9 @@ __xfs_get_blocks(
> lockmode = xfs_ilock_map_shared(ip);
> }
>
> - ASSERT(offset <= mp->m_maxioffset);
> - if (offset + size > mp->m_maxioffset)
> - size = mp->m_maxioffset - offset;
> + ASSERT(offset <= mp->m_super->s_maxbytes);
> + if (offset + size > mp->m_super->s_maxbytes)
> + size = mp->m_super->s_maxbytes - offset;
> end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + size);
> offset_fsb = XFS_B_TO_FSBT(mp, offset);
>
> diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
> index aadfce6..4590cd1 100644
> --- a/fs/xfs/xfs_iomap.c
> +++ b/fs/xfs/xfs_iomap.c
> @@ -416,8 +416,8 @@ retry:
> * Make sure preallocation does not create extents beyond the range we
> * actually support in this filesystem.
> */
> - if (last_fsb > XFS_B_TO_FSB(mp, mp->m_maxioffset))
> - last_fsb = XFS_B_TO_FSB(mp, mp->m_maxioffset);
> + if (last_fsb > XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes))
> + last_fsb = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
>
> ASSERT(last_fsb > offset_fsb);
>
> diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
> index 536021f..9536fd1 100644
> --- a/fs/xfs/xfs_mount.c
> +++ b/fs/xfs/xfs_mount.c
> @@ -1200,8 +1200,6 @@ xfs_mountfs(
>
> xfs_set_maxicount(mp);
>
> - mp->m_maxioffset = xfs_max_file_offset(sbp->sb_blocklog);
> -
> error = xfs_uuid_mount(mp);
> if (error)
> goto out;
> diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
> index 8b89c5a..47c6b3b 100644
> --- a/fs/xfs/xfs_mount.h
> +++ b/fs/xfs/xfs_mount.h
> @@ -176,7 +176,6 @@ typedef struct xfs_mount {
> uint m_qflags; /* quota status flags */
> xfs_trans_reservations_t m_reservations;/* precomputed res values */
> __uint64_t m_maxicount; /* maximum inode count */
> - __uint64_t m_maxioffset; /* maximum inode offset */
> __uint64_t m_resblks; /* total reserved blocks */
> __uint64_t m_resblks_avail;/* available reserved blocks */
> __uint64_t m_resblks_save; /* reserved blks @ remount,ro */
> @@ -297,7 +296,7 @@ xfs_preferred_iosize(xfs_mount_t *mp)
> PAGE_CACHE_SIZE));
> }
>
> -#define XFS_MAXIOFFSET(mp) ((mp)->m_maxioffset)
> +#define XFS_MAXIOFFSET(mp) ((mp)->m_super->s_maxbytes)
>
> #define XFS_LAST_UNMOUNT_WAS_CLEAN(mp) \
> ((mp)->m_flags & XFS_MOUNT_WAS_CLEAN)
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] xfs: make largest supported offset less shouty
2012-06-08 5:44 ` [PATCH 2/2] xfs: make largest supported offset less shouty Dave Chinner
@ 2012-06-08 14:08 ` Eric Sandeen
0 siblings, 0 replies; 5+ messages in thread
From: Eric Sandeen @ 2012-06-08 14:08 UTC (permalink / raw)
To: Dave Chinner; +Cc: xfs
On 6/8/12 12:44 AM, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> XFS_MAXIOFFSET() is just a simple macro that resolves to
> mp->m_maxioffset. It doesn't need to exist, and it just makes the
> code unnecessarily loud and shouty.
>
> Make it quiet and easy to read.
>
> Signed-off-by: Dave Chinner <dchinner@redhat.com>
Hm, for some reason I am sad to see the macro go ;)
Do you have any idea why we had these casts?
> - last_block = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_MAXIOFFSET(mp));
> + last_block = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
s_maxbytes is ultimately a long long; m_maxioffset was a __uint64_t
so the cast seems unnecessary... but I think it's fine.
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
> ---
> fs/xfs/xfs_bmap.c | 2 +-
> fs/xfs/xfs_file.c | 2 +-
> fs/xfs/xfs_inode.c | 2 +-
> fs/xfs/xfs_iomap.c | 2 +-
> fs/xfs/xfs_mount.h | 2 --
> fs/xfs/xfs_qm.c | 2 +-
> fs/xfs/xfs_vnodeops.c | 10 +++++-----
> 7 files changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c
> index 58b815e..848ffa7 100644
> --- a/fs/xfs/xfs_bmap.c
> +++ b/fs/xfs/xfs_bmap.c
> @@ -5517,7 +5517,7 @@ xfs_getbmap(
> if (xfs_get_extsz_hint(ip) ||
> ip->i_d.di_flags & (XFS_DIFLAG_PREALLOC|XFS_DIFLAG_APPEND)){
> prealloced = 1;
> - fixlen = XFS_MAXIOFFSET(mp);
> + fixlen = mp->m_super->s_maxbytes;
> } else {
> prealloced = 0;
> fixlen = XFS_ISIZE(ip);
> diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
> index 2b18ea1..bcb97dc 100644
> --- a/fs/xfs/xfs_file.c
> +++ b/fs/xfs/xfs_file.c
> @@ -273,7 +273,7 @@ xfs_file_aio_read(
> }
> }
>
> - n = XFS_MAXIOFFSET(mp) - iocb->ki_pos;
> + n = mp->m_super->s_maxbytes - iocb->ki_pos;
> if (n <= 0 || size == 0)
> return 0;
>
> diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
> index 5c6ea39..fa49d80 100644
> --- a/fs/xfs/xfs_inode.c
> +++ b/fs/xfs/xfs_inode.c
> @@ -1225,7 +1225,7 @@ xfs_itruncate_extents(
> * then there is nothing to do.
> */
> first_unmap_block = XFS_B_TO_FSB(mp, (xfs_ufsize_t)new_size);
> - last_block = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_MAXIOFFSET(mp));
> + last_block = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
Hm was there any reason for that cast? s_maxbytes is ultimately
a long long; m_maxioffset was a __uint64_t so the cast seems
unnecessary... I think it's fine.
> if (first_unmap_block == last_block)
> return 0;
>
> diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
> index 4590cd1..915edf6 100644
> --- a/fs/xfs/xfs_iomap.c
> +++ b/fs/xfs/xfs_iomap.c
> @@ -285,7 +285,7 @@ xfs_iomap_eof_want_preallocate(
> * do any speculative allocation.
> */
> start_fsb = XFS_B_TO_FSBT(mp, ((xfs_ufsize_t)(offset + count - 1)));
> - count_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_MAXIOFFSET(mp));
> + count_fsb = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
> while (count_fsb > 0) {
> imaps = nimaps;
> firstblock = NULLFSBLOCK;
> diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
> index 47c6b3b..90a4530 100644
> --- a/fs/xfs/xfs_mount.h
> +++ b/fs/xfs/xfs_mount.h
> @@ -296,8 +296,6 @@ xfs_preferred_iosize(xfs_mount_t *mp)
> PAGE_CACHE_SIZE));
> }
>
> -#define XFS_MAXIOFFSET(mp) ((mp)->m_super->s_maxbytes)
> -
> #define XFS_LAST_UNMOUNT_WAS_CLEAN(mp) \
> ((mp)->m_flags & XFS_MOUNT_WAS_CLEAN)
> #define XFS_FORCED_SHUTDOWN(mp) ((mp)->m_flags & XFS_MOUNT_FS_SHUTDOWN)
> diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c
> index 249db19..2e86fa0 100644
> --- a/fs/xfs/xfs_qm.c
> +++ b/fs/xfs/xfs_qm.c
> @@ -940,7 +940,7 @@ xfs_qm_dqiterate(
> map = kmem_alloc(XFS_DQITER_MAP_SIZE * sizeof(*map), KM_SLEEP);
>
> lblkno = 0;
> - maxlblkcnt = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_MAXIOFFSET(mp));
> + maxlblkcnt = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
> do {
> nmaps = XFS_DQITER_MAP_SIZE;
> /*
> diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
> index b6a82d8..c22f4e0 100644
> --- a/fs/xfs/xfs_vnodeops.c
> +++ b/fs/xfs/xfs_vnodeops.c
> @@ -174,7 +174,7 @@ xfs_free_eofblocks(
> * of the file. If not, then there is nothing to do.
> */
> end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_ISIZE(ip));
> - last_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)XFS_MAXIOFFSET(mp));
> + last_fsb = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes);
> if (last_fsb <= end_fsb)
> return 0;
> map_len = last_fsb - end_fsb;
> @@ -2262,10 +2262,10 @@ xfs_change_file_space(
>
> llen = bf->l_len > 0 ? bf->l_len - 1 : bf->l_len;
>
> - if ( (bf->l_start < 0)
> - || (bf->l_start > XFS_MAXIOFFSET(mp))
> - || (bf->l_start + llen < 0)
> - || (bf->l_start + llen > XFS_MAXIOFFSET(mp)))
> + if (bf->l_start < 0 ||
> + bf->l_start > mp->m_super->s_maxbytes ||
> + bf->l_start + llen < 0 ||
> + bf->l_start + llen > mp->m_super->s_maxbytes)
> return XFS_ERROR(EINVAL);
>
> bf->l_whence = 0;
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-06-08 14:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-08 5:44 [PATCH 0/2] xfs: kill m_maxioffset Dave Chinner
2012-06-08 5:44 ` [PATCH 1/2] xfs: m_maxioffset is redundant Dave Chinner
2012-06-08 14:02 ` Eric Sandeen
2012-06-08 5:44 ` [PATCH 2/2] xfs: make largest supported offset less shouty Dave Chinner
2012-06-08 14:08 ` Eric Sandeen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox