Felipe Monteiro de Carvalho | 21 Feb 11:26 2015
Picon

Cannot find inode

Hello,

I am writing a software to read jfs partitions, and I can already read
the root and many directories / files inside it.

But some dirs / files have a high inode number (0x106 and 0x107), but
my Fileset Inode Map has only 3 extents, which means that I have only
32*3 inodes available, so I cannot locate this high inode nr =(

Any ideas of what I am failing to understand here??? How to find inode
with number 0x106?

Here is the screenshot of the root inode:

http://magnifier.sourceforge.net/tmp/jfs_strange_inode_nr.png

Note the selected area:

06010000 FF 07 <item name>

I interpreted this as being:

struct ldtentry {
__le32 inumber;-> $106
s8 next; -> FF
u8 namlen; -> 07
...

And therefore inode nr 0x106 but like I said, my Fileset Inode
Allocation Map has only 3 extents in iag.inoext each with len=4 which
(Continue reading)

Dave Kleikamp | 12 Feb 17:32 2015
Picon

[GIT PULL] jfs changes for v3.20

The following changes since commit 53262d12d1658669029ab39a63e3d314108abe66:

  Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
(2014-12-23 11:03:28 -0800)

are available in the git repository at:

  git://github.com/kleikamp/linux-shaggy.git tags/jfs-3.20

for you to fetch changes up to 648695c74811f09a8ad80d7c3be72b8169589a64:

  jfs: Deletion of an unnecessary check before the function call "unload_nls" (2015-02-02 15:02:34 -0600)

----------------------------------------------------------------
a couple cleanups for jfs

----------------------------------------------------------------
Al Viro (1):
      jfs: get rid of homegrown endianness helpers

Markus Elfring (1):
      jfs: Deletion of an unnecessary check before the function call "unload_nls"

 fs/jfs/endian24.h  | 49 ------------------------------------------------
 fs/jfs/jfs_dtree.c |  4 ++--
 fs/jfs/jfs_types.h | 55 ++++++++++++++++++++++++++++++++----------------------
 fs/jfs/jfs_xtree.h | 25 +++++++++----------------
 fs/jfs/super.c     |  3 +--
 5 files changed, 45 insertions(+), 91 deletions(-)
 delete mode 100644 fs/jfs/endian24.h
(Continue reading)

Uwe Brauer | 7 Feb 17:54 2015
Picon

ssd+3.7 kernel trim: problems, read-only.

Hello

I tried to send this email via gmane, but I never saw it on that list,
so I resend it.

Using a Thinkpad Laptop with a new Samsung ssd, I have installed kubuntu
10.04 and chosen jfs. Since 10.04 is too old to support trimming, I
compiled and installed kernel 3.7 and complied fstrim.

The relevant entry of my fstab reads as follows.

UUID=8e06979b-2dbf-4192-8513-957bafa74a1e /               jfs
nodiratime,noatime,errors=remount-ro 0       

The recommendation to use nodiratime and noatime for ssd I found
for example in http://askubuntu.com/questions/1400/how-do-i-optimize-the-os-for-ssds

I run fstrim periodically via cron and everything seems fine.

However from time to time by system ends up to be mounted *read-only*.

 dmesg  gives errors like this:

[105074.721310] ERROR: (device sda5): dbDiscardAG: no memory for trim array

(I could send the complete result of dmesg, but it is large. I obtained
it by dmesg | pastebinit).

Since the fstab entry states errors=remount-ro I presumed this is the
source for the read only remount.
(Continue reading)

nick | 28 Dec 01:58 2014
Picon

Remove TO DO in jfs_xtree.c

Greetings Dave,
I am wondering why there is a TO DO above this code:
        * ToDo:  tlocks should be on doubly-linked list, so we can
        * quickly remove it and add it to the end.
        */

       /*
       * Move parent page's tlock to the end of the tid's tlock list
       */
       if (log && mp->lid && (tblk->last != mp->lid) &&
           lid_to_tlock(mp->lid)->tid) {
               lid_t lid = mp->lid;
                struct tlock *prev;

             tlck = lid_to_tlock(lid);

             if (tblk->next == lid)
                       tblk->next = tlck->next;
             else {
                       for (prev = lid_to_tlock(tblk->next);
                             prev->next != lid;
                            prev = lid_to_tlock(prev->next)) {
                              assert(prev->next);
                      }
                        prev->next = tlck->next;
              }
              lid_to_tlock(tblk->last)->next = lid;
              tlck->next = 0;
               tblk->last = lid;
       }
(Continue reading)

Pieter Smith | 13 Nov 22:23 2014
Picon

[PATCH 30/56] fs/jfs: support compiling out splice

Compile out splice support from jfs when the splice-family of syscalls is not
supported by the system (i.e. CONFIG_SYSCALL_SPLICE is undefined).

Signed-off-by: Pieter Smith <pieter <at> boesman.nl>
---
 fs/jfs/file.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/jfs/file.c b/fs/jfs/file.c
index 33aa0cc..88df840 100644
--- a/fs/jfs/file.c
+++ b/fs/jfs/file.c
 <at>  <at>  -156,8 +156,8  <at>  <at>  const struct file_operations jfs_file_operations = {
 	.read_iter	= generic_file_read_iter,
 	.write_iter	= generic_file_write_iter,
 	.mmap		= generic_file_mmap,
-	.splice_read	= generic_file_splice_read,
-	.splice_write	= iter_file_splice_write,
+	SPLICE_READ_INIT(generic_file_splice_read)
+	SPLICE_WRITE_INIT(iter_file_splice_write)
 	.fsync		= jfs_fsync,
 	.release	= jfs_release,
 	.unlocked_ioctl = jfs_ioctl,
--

-- 
1.9.1

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
(Continue reading)

Jan Kara | 4 Nov 12:19 2014
Picon

[PATCH 0/12 v4] Moving i_dquot out of struct inode

  Hello,

  here is a new version of my patch series which moves i_dquot array from
struct inode into filesystem private part of the inode. Thus filesystems which
don't need it save 2 pointers in their inodes (would be 3 after we add project
quota support into generic quota).

The patch series also contains a change to quotactl so that each filesystem
can set quota types it supports. This is in the end unrelated change
(originally it was necessary for i_dquot moving but in the end I changed
things so that it's not anymore). I can move that into a separate series
but I was somewhat reluctant to do that since that would mean another 6
one-line patches to the same files we are changing here...

If people like the patches, I will queue this series into my tree for
the next merge window. For that I'd prefer to get acks from affected fs
maintainers (the changes are pretty trivial and I don't feel it's a must but
still I'd prefer fs maintainers to ack they are aware of the changes).

								Honza

Changes since v1:
* Inode field names are now named enum
* Quota type masks now have names like QTYPE_MASK_{USR|GRP|PRJ} instead of
  opencoding shifts.

Changes since v2:
* Use ->get_dquots callback instead of inode fields framework
* rebased on Linus' tree as of 3.18-rc1 + something.

(Continue reading)

Jan Kara | 21 Oct 16:38 2014
Picon

[PATCH 0/12 v3] Moving i_dquot out of struct inode

  Hello,

  this patch set moves i_dquot array from struct inode into filesystem private
part of the inode. Thus filesystems which don't need it save 2 pointers in
their inodes (would be 3 after we add project quota support into generic
quota).

The patch series also contains a change to quotactl so that each filesystem
can set quota types it supports. This is in the end unrelated change
(originally it was necessary for i_dquot moving but in the end I changed
things so that it's not anymore). I can move that into a separate series
but I was somewhat reluctant to do that since that would mean another 6
one-line patches to the same files we are changing here...

If people like the patches, I will queue this series into my tree for
the next merge window. For that I'd prefer to get acks from affected fs
maintainers (the changes are pretty trivial and I don't feel it's a must but
still I'd prefer fs maintainers to ack they are aware of the changes).

								Honza

Changes since v1:
* Inode field names are now named enum
* Quota type masks now have names like QTYPE_MASK_{USR|GRP|PRJ} instead of
  opencoding shifts.

Changes since v2:
* Use ->get_dquots callback instead of inode fields framework
* rebased on Linus' tree as of 3.18-rc1 + something.

(Continue reading)

Jan Kara | 10 Oct 16:53 2014
Picon

Sorry for patch spam!

  Hello,

  I'm deeply sorry about the patch spam I set a while ago. I've
accidentally run git-send-email on a wrong directory...

								Honza
--

-- 
Jan Kara <jack <at> suse.cz>
SUSE Labs, CR

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
Jan Kara | 10 Oct 16:54 2014
Picon

[PATCH 0/12 v2] Moving i_dquot out of struct inode

  Hello,

  this patch set moves i_dquot array from struct inode into filesystem private
part of the inode. Thus filesystems which don't need it save 2 pointers in
their inodes (would be 3 after we add project quota support into generic
quota).

I have patches to move inode->i_data.private_list into filesystem private part
of the inode which is going to save another 2 pointers using the same
mechanism. However I didn't want to mix those in.

The patch series also contains a change to quotactl so that each filesystem
can set quota types it supports. This is in the end unrelated change
(originally it was necessary for i_dquot moving but in the end I changed
things so that it's not anymore). I can move that into a separate series
but I was somewhat reluctant to do that since that would mean another 6
one-line patches to the same files we are changing here...

If noone has any objections, I'd like to queue this series into my tree for
the next merge window. For that I'd prefer to get acks from affected fs
maintainers (the changes are pretty trivial and I don't feel it's a must but
still I'd prefer fs maintainers to ack they are aware of the changes).

								Honza

Changes since v1:
* Inode field names are now named enum
* Quota type masks now have names like QTYPE_MASK_{USR|GRP|PRJ} instead of
  opencoding shifts.

(Continue reading)

Jan Kara | 10 Oct 16:23 2014
Picon

[PATCH 0/2 v2] Fix data corruption when blocksize < pagesize for mmapped data

  Hello,

  this is a second version of the patches to fix data corruption in mmapped
data when blocksize < pagesize as tested by xfstests generic/030 test.
The patchset fixes XFS and ext4. I've checked and btrfs doesn't need fixing
because it doesn't support blocksize < pagesize. If that's ever going
to change btrfs will likely need a similar treatment. ocfs2, ext2, ext3 are
OK since they happily allocate blocks during writeback. For other filesystems
like gfs2, ubifs, nilfs, ceph,... I'm not sure whether they support blocksize <
pagesize at all. Interesting is also NFS which may care but I don't understand
its ->page_mkwrite() handler good enough to judge.

Changes since v1:
- changed helper function name and moved it to mm/truncate.c - I originally
  thought we can make the helper function update i_size to simplify the
  interface but it's actually impossible due to generic_write_end() lock
  ordering constraints.
- used round_up() instead of ALIGN()
- taught truncate_setsize() to use the helper function

								Honza

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
Jan Kara | 7 Oct 21:29 2014
Picon

Re: [PATCH 03/12] xfs: Set allowed quota types

On Tue 07-10-14 07:30:28, Dave Chinner wrote:
> On Wed, Oct 01, 2014 at 09:31:25PM +0200, Jan Kara wrote:
> > We support user, group, and project quotas. Tell VFS about it.
> > 
> > CC: xfs <at> oss.sgi.com
> > CC: Dave Chinner <david <at> fromorbit.com>
> > Signed-off-by: Jan Kara <jack <at> suse.cz>
> > ---
> >  fs/xfs/xfs_super.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
> > index b194652033cd..b32e998e8cbc 100644
> > --- a/fs/xfs/xfs_super.c
> > +++ b/fs/xfs/xfs_super.c
> >  <at>  <at>  -1419,6 +1419,8  <at>  <at>  xfs_fs_fill_super(
> >  	sb->s_export_op = &xfs_export_operations;
> >  #ifdef CONFIG_XFS_QUOTA
> >  	sb->s_qcop = &xfs_quotactl_operations;
> > +	sb->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) |
> > +				    (1 << PRJQUOTA);
> 
> Would it be better to define masks for these rather than open
> coding these shifts everywhere?
  I can do that. Any suggestion for a name? I was thinking about it for a
while and couldn't come up with anything satisfactory...

								Honza
--

-- 
Jan Kara <jack <at> suse.cz>
(Continue reading)


Gmane