* Symlinks' device numbers differ from regular files'
@ 2010-11-18 23:54 Toke Høiland-Jørgensen
2010-11-19 2:05 ` Li Zefan
0 siblings, 1 reply; 2+ messages in thread
From: Toke Høiland-Jørgensen @ 2010-11-18 23:54 UTC (permalink / raw)
To: linux-btrfs
[-- Attachment #1: Type: text/plain, Size: 907 bytes --]
Hi
I am having a problem with my btrfs partitions: symlinks are reported to
have different device numbers than directories and regular files, even
though they are on the same partition. This causes my backup software to
mess up backing up the symlinks.
An illustrative example:
$ touch tmp; ln -s tmp tmp2; stat tmp tmp2
File: `tmp'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 15h/21d Inode: 984027 Links: 1
--- snip ---
File: `tmp2' -> `tmp'
Size: 3 Blocks: 0 IO Block: 4096 symbolic link
Device: 13h/19d Inode: 984028 Links: 1
--- snip ---
$ uname -r
2.6.35-ck
I'm not using subvolumes, or any fancy features of btrfs, really. I'm
running Arch Linux.
Is this normal? And if not, how do I fix it?
Any help would be greatly appreciated. Thanks in advance.
Regards,
-Toke Høiland-Jørgensen
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Symlinks' device numbers differ from regular files'
2010-11-18 23:54 Symlinks' device numbers differ from regular files' Toke Høiland-Jørgensen
@ 2010-11-19 2:05 ` Li Zefan
0 siblings, 0 replies; 2+ messages in thread
From: Li Zefan @ 2010-11-19 2:05 UTC (permalink / raw)
To: Toke Høiland-Jørgensen; +Cc: linux-btrfs
Toke H=C3=B8iland-J=C3=B8rgensen wrote:
> Hi
>=20
> I am having a problem with my btrfs partitions: symlinks are reported=
to=20
> have different device numbers than directories and regular files, eve=
n=20
> though they are on the same partition. This causes my backup software=
to=20
> mess up backing up the symlinks.
>=20
> An illustrative example:
>=20
> $ touch tmp; ln -s tmp tmp2; stat tmp tmp2
> File: `tmp'
> Size: 0 Blocks: 0 IO Block: 4096 regular empty =
file
> Device: 15h/21d Inode: 984027 Links: 1
> --- snip ---
> File: `tmp2' -> `tmp'
> Size: 3 Blocks: 0 IO Block: 4096 symbolic link
> Device: 13h/19d Inode: 984028 Links: 1
> --- snip ---
>=20
> $ uname -r
> 2.6.35-ck
>=20
> I'm not using subvolumes, or any fancy features of btrfs, really. I'm=
=20
> running Arch Linux.
>=20
> Is this normal? And if not, how do I fix it?
>=20
> Any help would be greatly appreciated. Thanks in advance.
>=20
This should fix it:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
[PATCH] btrfs: Show device attr correctly for symlinks
Symlinks and files of other types show different device numbers, though
they are on the same partition:
$ touch tmp; ln -s tmp tmp2; stat tmp tmp2
File: `tmp'
Size: 0 Blocks: 0 IO Block: 4096 regular empty f=
ile
Device: 15h/21d Inode: 984027 Links: 1
--- snip ---
File: `tmp2' -> `tmp'
Size: 3 Blocks: 0 IO Block: 4096 symbolic link
Device: 13h/19d Inode: 984028 Links: 1
Reported-by: Toke H=C3=B8iland-J=C3=B8rgensen <toke@toke.dk>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
---
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 5132c9a..d10b6d4 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -7139,6 +7139,7 @@ static const struct inode_operations btrfs_symlin=
k_inode_operations =3D {
.readlink =3D generic_readlink,
.follow_link =3D page_follow_link_light,
.put_link =3D page_put_link,
+ .getattr =3D btrfs_getattr,
.permission =3D btrfs_permission,
.setxattr =3D btrfs_setxattr,
.getxattr =3D btrfs_getxattr,
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" =
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-11-19 2:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-18 23:54 Symlinks' device numbers differ from regular files' Toke Høiland-Jørgensen
2010-11-19 2:05 ` Li Zefan
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.