mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
[PATCH] hfs: set type/creator for symlinks
Set the correct type and creator for symlinks. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
af8c85bb6d
commit
6b192832da
2 changed files with 10 additions and 2 deletions
|
@ -119,8 +119,13 @@ static int hfsplus_cat_build_record(hfsplus_cat_entry *entry, u32 cnid, struct i
|
|||
file->access_date = hfsp_now2mt();
|
||||
if (cnid == inode->i_ino) {
|
||||
hfsplus_set_perms(inode, &file->permissions);
|
||||
file->user_info.fdType = cpu_to_be32(HFSPLUS_SB(inode->i_sb).type);
|
||||
file->user_info.fdCreator = cpu_to_be32(HFSPLUS_SB(inode->i_sb).creator);
|
||||
if (S_ISLNK(inode->i_mode)) {
|
||||
file->user_info.fdType = cpu_to_be32(HFSP_SYMLINK_TYPE);
|
||||
file->user_info.fdCreator = cpu_to_be32(HFSP_SYMLINK_CREATOR);
|
||||
} else {
|
||||
file->user_info.fdType = cpu_to_be32(HFSPLUS_SB(inode->i_sb).type);
|
||||
file->user_info.fdCreator = cpu_to_be32(HFSPLUS_SB(inode->i_sb).creator);
|
||||
}
|
||||
if ((file->permissions.rootflags | file->permissions.userflags) & HFSPLUS_FLG_IMMUTABLE)
|
||||
file->flags |= cpu_to_be16(HFSPLUS_FILE_LOCKED);
|
||||
} else {
|
||||
|
|
|
@ -43,6 +43,9 @@
|
|||
#define HFSP_HARDLINK_TYPE 0x686c6e6b /* 'hlnk' */
|
||||
#define HFSP_HFSPLUS_CREATOR 0x6866732b /* 'hfs+' */
|
||||
|
||||
#define HFSP_SYMLINK_TYPE 0x736c6e6b /* 'slnk' */
|
||||
#define HFSP_SYMLINK_CREATOR 0x72686170 /* 'rhap' */
|
||||
|
||||
#define HFSP_MOUNT_VERSION 0x482b4c78 /* 'H+Lx' */
|
||||
|
||||
/* Structures used on disk */
|
||||
|
|
Loading…
Reference in a new issue