* Extend FIEMAP to indicate shared extents
@ 2009-10-22 1:05 Sunil Mushran
2009-10-22 1:05 ` [PATCH 1/2] fiemap: Add new extent flag FIEMAP_EXTENT_SHARED Sunil Mushran
2009-10-22 1:05 ` [PATCH 2/2] ocfs2: Use FIEMAP_EXTENT_SHARED Sunil Mushran
0 siblings, 2 replies; 8+ messages in thread
From: Sunil Mushran @ 2009-10-22 1:05 UTC (permalink / raw)
To: ocfs2-devel, linux-fsdevel, linux-kernel
This adds a FIEMAP extent flag, FIEMAP_EXTENT_SHARED, to indicate
extents that are shared by multiple files. The second patch makes
use of the same in the OCFS2 file system to show such extents in
the reflinked files.
Thanks
Sunil
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] fiemap: Add new extent flag FIEMAP_EXTENT_SHARED
2009-10-22 1:05 Extend FIEMAP to indicate shared extents Sunil Mushran
@ 2009-10-22 1:05 ` Sunil Mushran
2009-10-23 18:00 ` [Ocfs2-devel] " Mark Fasheh
2009-10-22 1:05 ` [PATCH 2/2] ocfs2: Use FIEMAP_EXTENT_SHARED Sunil Mushran
1 sibling, 1 reply; 8+ messages in thread
From: Sunil Mushran @ 2009-10-22 1:05 UTC (permalink / raw)
To: ocfs2-devel, linux-fsdevel, linux-kernel
Patch adds flag FIEMAP_EXTENT_SHARED to denote extents that are
shared with other inodes.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
---
include/linux/fiemap.h | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/include/linux/fiemap.h b/include/linux/fiemap.h
index 934e22d..d830747 100644
--- a/include/linux/fiemap.h
+++ b/include/linux/fiemap.h
@@ -62,5 +62,7 @@ struct fiemap {
#define FIEMAP_EXTENT_MERGED 0x00001000 /* File does not natively
* support extents. Result
* merged for efficiency. */
+#define FIEMAP_EXTENT_SHARED 0x00002000 /* Space shared with other
+ * files. */
#endif /* _LINUX_FIEMAP_H */
--
1.6.0.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Ocfs2-devel] [PATCH 1/2] fiemap: Add new extent flag FIEMAP_EXTENT_SHARED
2009-10-22 1:05 ` [PATCH 1/2] fiemap: Add new extent flag FIEMAP_EXTENT_SHARED Sunil Mushran
@ 2009-10-23 18:00 ` Mark Fasheh
2009-10-24 18:30 ` Jamie Lokier
0 siblings, 1 reply; 8+ messages in thread
From: Mark Fasheh @ 2009-10-23 18:00 UTC (permalink / raw)
To: Sunil Mushran; +Cc: ocfs2-devel, linux-fsdevel, linux-kernel
On Wed, Oct 21, 2009 at 06:05:08PM -0700, Sunil Mushran wrote:
> Patch adds flag FIEMAP_EXTENT_SHARED to denote extents that are
> shared with other inodes.
This looks pretty sane to me. Thanks Sunil.
> Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Acked-by: Mark Fasheh <mfasheh@suse.com>
--Mark
--
Mark Fasheh
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Ocfs2-devel] [PATCH 1/2] fiemap: Add new extent flag FIEMAP_EXTENT_SHARED
2009-10-23 18:00 ` [Ocfs2-devel] " Mark Fasheh
@ 2009-10-24 18:30 ` Jamie Lokier
2009-10-26 17:29 ` Sunil Mushran
0 siblings, 1 reply; 8+ messages in thread
From: Jamie Lokier @ 2009-10-24 18:30 UTC (permalink / raw)
To: Mark Fasheh; +Cc: Sunil Mushran, ocfs2-devel, linux-fsdevel, linux-kernel
Mark Fasheh wrote:
> On Wed, Oct 21, 2009 at 06:05:08PM -0700, Sunil Mushran wrote:
> > Patch adds flag FIEMAP_EXTENT_SHARED to denote extents that are
> > shared with other inodes.
>
> This looks pretty sane to me. Thanks Sunil.
It might be better to have a flag FIEMAP_EXTENT_NOT_SHARED.
Apps which need to know the data is not shared can't safely check
!(flags & FIEMAP_EXTENT_SHARED) because of old kernels which don't set
the flag.
-- Jamie
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] fiemap: Add new extent flag FIEMAP_EXTENT_SHARED
2009-10-24 18:30 ` Jamie Lokier
@ 2009-10-26 17:29 ` Sunil Mushran
2009-10-26 19:29 ` [Ocfs2-devel] " Brad Boyer
0 siblings, 1 reply; 8+ messages in thread
From: Sunil Mushran @ 2009-10-26 17:29 UTC (permalink / raw)
To: Jamie Lokier; +Cc: linux-fsdevel, Mark Fasheh, linux-kernel, ocfs2-devel
Jamie Lokier wrote:
> It might be better to have a flag FIEMAP_EXTENT_NOT_SHARED.
>
> Apps which need to know the data is not shared can't safely check
> !(flags & FIEMAP_EXTENT_SHARED) because of old kernels which don't set
> the flag.
I'm probably not understanding your point. Won't the older kernels not set
FIEMAP_EXTENT_NOT_SHARED too.
If this is important, we could always add this flag in the stable kernel
trees. Both sharing of extents and fiemap are relatively new to the kernel.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Ocfs2-devel] [PATCH 1/2] fiemap: Add new extent flag FIEMAP_EXTENT_SHARED
2009-10-26 17:29 ` Sunil Mushran
@ 2009-10-26 19:29 ` Brad Boyer
0 siblings, 0 replies; 8+ messages in thread
From: Brad Boyer @ 2009-10-26 19:29 UTC (permalink / raw)
To: Sunil Mushran
Cc: Jamie Lokier, Mark Fasheh, ocfs2-devel, linux-fsdevel,
linux-kernel
On Mon, Oct 26, 2009 at 10:29:36AM -0700, Sunil Mushran wrote:
> Jamie Lokier wrote:
> >It might be better to have a flag FIEMAP_EXTENT_NOT_SHARED.
> >
> >Apps which need to know the data is not shared can't safely check
> >!(flags & FIEMAP_EXTENT_SHARED) because of old kernels which don't set
> >the flag.
>
> I'm probably not understanding your point. Won't the older kernels not set
> FIEMAP_EXTENT_NOT_SHARED too.
>
> If this is important, we could always add this flag in the stable kernel
> trees. Both sharing of extents and fiemap are relatively new to the kernel.
I think the concern is that we are going to be getting "wrong" data when
using an old kernel, and the question is which type of error is safer. If
the flag is FIEMAP_EXTENT_SHARED, then programs running against an old
kernel may think that shared extents are not shared. If the flag is
instead FIEMAP_EXTENT_NOT_SHARED, then the program may think an extent is
shared when it is not.
The real question is which information is more important, to know that the
extent is shared or if the extent definitely is not shared. I would think
that having FIEMAP_EXTENT_SHARED is more consistent with the rest of the
defined bits, particularly since the program couldn't actually do anything
that relies completely on this data anyway since it could change at any
moment. It's not like the results of a map are static.
Brad Boyer
flar@allandria.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] ocfs2: Use FIEMAP_EXTENT_SHARED
2009-10-22 1:05 Extend FIEMAP to indicate shared extents Sunil Mushran
2009-10-22 1:05 ` [PATCH 1/2] fiemap: Add new extent flag FIEMAP_EXTENT_SHARED Sunil Mushran
@ 2009-10-22 1:05 ` Sunil Mushran
1 sibling, 0 replies; 8+ messages in thread
From: Sunil Mushran @ 2009-10-22 1:05 UTC (permalink / raw)
To: ocfs2-devel, linux-fsdevel, linux-kernel
Adds FIEMAP_EXTENT_SHARED flag to refcounted extents.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
---
fs/ocfs2/extent_map.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/fs/ocfs2/extent_map.c b/fs/ocfs2/extent_map.c
index 843db64..cdce5f8 100644
--- a/fs/ocfs2/extent_map.c
+++ b/fs/ocfs2/extent_map.c
@@ -786,6 +786,8 @@ int ocfs2_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
fe_flags = 0;
if (rec.e_flags & OCFS2_EXT_UNWRITTEN)
fe_flags |= FIEMAP_EXTENT_UNWRITTEN;
+ if (rec.e_flags & OCFS2_EXT_REFCOUNTED)
+ fe_flags |= FIEMAP_EXTENT_SHARED;
if (is_last)
fe_flags |= FIEMAP_EXTENT_LAST;
len_bytes = (u64)le16_to_cpu(rec.e_leaf_clusters) << osb->s_clustersize_bits;
--
1.6.0.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Extend FIEMAP to indicate shared extents
@ 2009-11-06 23:24 Sunil Mushran
0 siblings, 0 replies; 8+ messages in thread
From: Sunil Mushran @ 2009-11-06 23:24 UTC (permalink / raw)
To: akpm, viro, hch; +Cc: linux-fsdevel, linux-kernel, ocfs2-devel
Please could I get your ACK for these patches.
This adds a FIEMAP extent flag, FIEMAP_EXTENT_SHARED, to indicate
extents that are shared by multiple files. The second patch makes
use of the same in the OCFS2 file system to show such extents in
the reflinked files.
Thanks
Sunil
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-11-06 23:24 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-22 1:05 Extend FIEMAP to indicate shared extents Sunil Mushran
2009-10-22 1:05 ` [PATCH 1/2] fiemap: Add new extent flag FIEMAP_EXTENT_SHARED Sunil Mushran
2009-10-23 18:00 ` [Ocfs2-devel] " Mark Fasheh
2009-10-24 18:30 ` Jamie Lokier
2009-10-26 17:29 ` Sunil Mushran
2009-10-26 19:29 ` [Ocfs2-devel] " Brad Boyer
2009-10-22 1:05 ` [PATCH 2/2] ocfs2: Use FIEMAP_EXTENT_SHARED Sunil Mushran
-- strict thread matches above, loose matches on Subject: below --
2009-11-06 23:24 Extend FIEMAP to indicate shared extents Sunil Mushran
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).